EP10
电子商务中的流程管理
刘浩洋
电子商务组顾问
Liuh@
The story so far
饥饿的Henry看到商家广告上的“苹果含有丰富的蛋白质”的宣传的时候,觉得这是无可非议的事情,可当他一口咬下去,发现……
Whoops - wrong slide
通过企业门户的四种途径?
门户能够处理的四种不同类型的流程
对于需要解决的问题给与一定的考虑上帮助
实际的问题是我们应该如何去做?
怎样的四种访问方式?
同步请求响应(Synchronous Request Reply)
异步请求处理(Asynchronous Request React)
工作流模式(Workflow)
协同工作流模式(Collaborative Workflow)
四种途径的框架
基于 :
门户接口(Portal Interface)
门户服务(EP Services)
工作流服务(WorkFlow Services)
EP Portal Interface
Portal Interface
个性化
可管理
客户化
界面友好
结构灵活
搜索引擎功能
快速开发
结构性的组织
通用服务:安全与用户管理
认证服务:
单一登陆
支持的标准: SSL,
SSL 端到端的加密
集成 LDAP SERVER与 数字认证授权
授权服务
基于角色
集中的权限管理
图形化的管理工具
通用服务: 事务管理
User
1. The user begins
a purchase transaction
2. Sybase EP begins a heterogeneous data source transaction
3. Sybase EP manages the “Two-Phase” commit, either everything is committed or everything rolled back.
I want to buy a book
on wood chucks?
Begin “Distributed” Transaction
Update Inventory
Debit Accounting
Store Customer History
Commit “Distributed” Transaction
Transaction
Services
工作流定义
Move : 在integration Server与应用之间传递信息
Route : 决定哪些信息去向哪里
Transform : 将源数据翻译为目标应用的数据格式
Enrich : 增加目标系统需要的信息
Automate : 过程不需要人工干预
How : 采用Ebiz Integrator / Process Server
Common
Services
Workflow
Real World
Infrastructure
Enterprise Systems
Systems
途径一:第 1 部分
同步请求响应(Synchronous Request-Reply )
主要初始化事件由用户动作完成
被用户初始化后立即响应并保持连接不中断
动作直到用户显式或隐式得到响应后完成
途径一:第 2 部分
通常为互联网环境
浏览器等待服务器端的响应
IAnywhere Wireless Server 作为 WebServer出现, 尽管内容由重定向插件(Plugin Redirector)提供
Wireless Server 测试不同终端产生不同格式输出 ( 此处为 WML )
途径一:第 3 部分
EP 内容管理
通常都有前端的工具作内容管理
EP集成了最好的内容管理工具
Vignette
Broadvision
Interwoven
如果需要其它的工具也可以 …. 只要其拥有 C/Java/ActiveX 的应用程序接口(API)
途径一:第 4 部分
EP 内容管理作用
最好工具的集成
无处不在的访问
个性化展现
基于角色
自动的显式服务
Profiling
定义及报表工具
动态发布服务
兴趣频道
事件报警条
动态发布
网页,移动设备,…
缓存技术
结构化非结构化内容
生命周期及产品管理
项目管理
版本控制
阶段开发
授权工具
Common
Services
Workflow
Real World
Infrastructure
Enterprise Systems
Systems
途径二:第 1 部分
异步请求响应(Asynchronous Request-React )
(用户事件初始化)
由一个连接初始化,但对于请求方不需要绝对的路径保持,即用户请求方不必挂起等候
区别于Request-Reply模式,在应用逻辑功能中包含必须完成以满足请求响应事件初始化的操作的系统任务
也被称作雇佣和遗忘(Fire and Forget)机制 !
途径二:第 2 部分
Fire and Forget Mechanism
用户触发一个动作后,可以无需等待结果出现便可以继续其它的操作
结果有更高的并发度
基于的技术
EAS Message Service
EAS Service
EAS Thread Manager
IBM MQ Series / Express Q
途径二:第 3 部分
例: EAS Messaging Service
EAS 以上版本支持
消息存储于队列中直至其被发送至EAS的客户端或组件中
一对一模式(One-to-One)或者出版-订阅模式( Publish-Subscribe)
消息可以为瞬间复制或者持久存储在一个数据库中
基于
MessageService Interface
MessageQueue Interface
MessageListener Interface
途径二:第 4 部分
EAS CLIENT
EAS
Send ()
EAS Component
onMessage ()
Notify
SMS
SendSMS ()
途径二:第 5 部分
后台运行
启动时间被创建
服务独立于客户端
用来运行重复的任务
具有Start () / Run () / Stop () 方法
途径二:第 6 部分
线程管理
对于服务可选,更为灵活
线程在需要的时候被启动
一个线程执行一个组件
组件必须实现run()方法
线程管理实例
CtsComponents/ThreadManager
线程管理执行
start ( string group, Component)
Common
Services
Workflow
Real World
Infrastructure
Enterprise Systems
Systems
途径三:第 1 部分
工作流(WorkFlow )
Workflow实现由事件触发的商业逻辑,其要求一系列的操作按照一定的顺序完成
通常被用来在各自独立的系统而又需要协同工作以满足商业需求(交互系统数据或相互依赖的过程)的条件下保持系统数据的完整性与一致性
途径三:第 2 部分
Sybase Ebiz Integrator
E-Biz
Integrator
SAP
Legacy
Mfg.
Human
Resources
General
Ledger
Customer
Relations
Logistics
Web
Application
Supply
Chain
Integration Hub
Adapters to talk to Systems
Open Transport
Sybase Formatter
Sybase Rules
途径三:第 3 部分
Sybase Ebiz Integrator
The Integration Server
无状态消息路由及格式处理
消息进行独立处理而与其它消息无关
基于点到点传送或基于集中-广播式传送
途径三:第 4 部分
Sybase Process Server
能够自动的控制、监控跨多个系统的电子商务流程
加强了Ebiz的功能,能够处理更为复杂的消息流程,而不仅仅是消息路由以及传输
Ebiz提供无状态的路由以及传输
Process Server提供有状态(stateful)的过程管理
途径三:第 5 部分
Sybase Process Server
消息协同递送(Message Delivery Coordination)
支持相关数据接受完毕后发送一则消息
途径三:第 6 部分
Sybase Process Server
消息合并与集合
合并多条消息
利用多条消息的内容运算生成新的消息
途径三:第 7 部分
Sybase Process Server
消息请求与响应
某个消息只有当其它系统输入完成后才能被继续处理
Common
Services
Workflow
Real World
Infrastructure
Enterprise Systems
Systems
Common
Services
Workflow
途径四:第 1 部分
协同工作流(Collaborative Workflow)
利用通用的服务及基础框架结构有效连接先前的Routes/Functions
介于请求/响应(Request-Reply)模式与工作流模式(Workflow)之间,或者一个简单的叉状工作流用以独立完成Requestor初始化的商业过程
例如,可以是对于通常请求者的在线代理,也可以是一个断线用户的情况。也就是一旦请求初始化后,实现一个松散耦合的环境。
途径四:第 2 部分
B2Bi = B2B + Integration
集成(Integration)
在企业内部集成应用(数据以及过程)
B2B
自动的企业间交易处理
B2Bi
在企业间集成应用(数据以及过程)
途径四:第 3 部分
Sybase
Integration Server
ERP/CRM
App 1
OS/390
ABC Company
Sybase
Integration Server
App 2
ERP/CRM
OS/390
XYZ Company
Network
B2Bi
HTTP/HTTPS
IIOP/IIOPS
SMTP
FTP
X509 Digital
Certificate
途径四:第 4 部分
支持广泛的网络服务协议(Web Services Protocols)
SOAP
WSDL
UDDI
途径四:第 5 部分
简单对象访问协议(Simple Object Access Protocol)
网络服务描述语言(Web Services Description Language)
统一描述、发现和集成协议(Universal Description Discovery & Integration)
途径四:第 6 部分
Service Requestor
Service Broker
Service Provider
Bind
SOAP
Find
UDDI
Publish
WSDL
总结
Common
Services
and Application
Logic
Mobile
Services
RIM
ASE
S/390
CE
PI (CRM)
Custom
Application
Smart IP
Server
iAnywhere
Wireless Server
Express Q
SmartIP
Client
Mobilink
SmartIP
IP over GSM
via RAS
Trader
CRM
SBO
Application
Logic
XJS /390
ACDB
XML
EJB Engine
Parser
Work Flow
E-Biz
Process
Server
MQ
Browser
SMS
Apache
Instigate
Parsing
故事的启示
Just because you can’t see it - doesn’t mean that it can’t affect your Portal.
Look for (and support) both the seen and unseen users of your Portal
问题讨论?
Speak now or forever hold your peace…
EP10
电子商务中的流程管理
刘浩洋
电子商务组顾问
Liuh@
在MS幻灯片中的世界是简单而美好的,事实上当你如Henry般深入一些变会发现总有些不愉快的事情发生
基于需求的考虑再做决定,我们应该如何实现一如文档所描述的功能呢?
Should list here the list of available portlets
Runs on EAS only
NT and SOLARIS supported.
Portlets are developed in Java language
Existing Portlets available
Google Search
Autonomy Search
Dictionary Search
ASE portlet to access ASE Data.
////////////////////////////////
Personalization
Users can create as many personal pages as they wish
Users can personalize the properties of each page like layout, colors etc.
Users can add and configure portelles and content sources
Administration
Register new portlets and content sources
Assign roles to pages and portlets
Create channels
Customization
Customize the entire look and feel of the portal, . banner, colors, portlet , greeting, date format, refresh rate etc.
Rapid deployment
Deploy within days
Easy to install and configure
Easy to customize
User friendly
Intuitive and friendly
Online help
Off-the-shelf content
Business news, industry updates and company specific information
Access to over 2,500 data sources
Search
Natural language search (concept-based, fuzzy, boolean, proximity)
Agents – both organization and user-defined agents
Index and search external data sources, . Lotus Notes databases
Index and search internal and external web sites
Security Services: digital certificates (provided by Verisign) and SSL.
Sybase Enterprise Portal supports single sign-on authentication. Sybase Enterprise Portal’s authentication services are based on the SSL and standards. EP includes a central security database. EP can authenticate a user using the password in the central security database or by using an digital certificate. The actual known users can come from the central security database or from an LDAP server.
Sybase Enterprise Portal authentication services include digital certificate management that works with digital certificate service providers (Verisign, ...) to authenticate users and create new digital certificates. Digital Certificate Management refers to the management of actual certificates within the Enterprise Portal. If a user wants a certificate, the certificate management software will go to a third-party certificate management service to get one for the user.
Authentication services provide Quality of Protection by enabling a variety of security mechanisms to be employed from anonymous access, to user id/password validation, all the way up to Digital Certificate Authentication and SSL point-to-point encryption. Once we have established a user’s identity, the user is matched to a specific role. A user’s role determines what the user can see and do within the portal: user authorizations and preferences.
Through configurable security models we can establish levels of authorization protection (level of security granularity) appropriate to the business interaction of the user. By matching these roles and the user profiles to the roles and profiles of the content and business process, we provide a secure and personalized environment.
User and Role Management Graphical Tools
Sybase Enterprise Portal includes GUI tools for managing users (authentication) and roles (authorization).
Need to tell a little story on the Common Services, the 2PC services.
Managing transactions across various backend systems is critical to a successful portal. When you need to insure that updates on multiple systems are all guaranteed to complete with no chance that the integrity is compromised you need distributed transaction support.
Sybase Enterprise Portal supports the integrity of these kinds of transactions either at the Common Services or database level.
In this example if the portal user is completing a product purchase, the system needs to insure that the inventory, accounting, and customer
history databases all get update in a guaranteed, synchronized manner. The transaction services in EP will make sure that it happens.
This is also the way regular Client Server Application Works.
For performance reasons it can be interesting to have a WEbServer to serve the WML content instead of Iwireless Application Server. This means that the wireless Redirector should be used instead.
RIM Browser -> WebServer -> Wireless Plugin -> Wireless Server.
Sybase Enterprise Portal supports Content Management needs by integrating the best-of-breed products in the market. Through partnerships and reseller agreements, Sybase provides two options to meet these needs: VIGNETTE Storyserver and Tibco Portal Builder. Alternatively, some of our customers, like Broadvision, have chosen other Content Management solutions and integrated them into EP.
Content Management manages the lifecycle of documents and document templates from conception - through approval - to publishing. It also includes technologies to support effective content distribution, from page rendering to search engines. On the dynamic content publishing side, this is focused on providing immediate notification or delivery of content as it arrives in the portal, from IT systems as well as from other business content sources captured by the portal integration services.
User Profile - each portal user has a user profile with three components:
Permissions: based on the user’s role, regulates what the user can see and do within the portal.
Patterns: based on the user’s behavior (what web pages they visit), the portal software displays different web pages or suggests alternative actions.
Preferences: These are like role options that the user can change.
Personalization consists of the technologies and techniques that help direct optimal combinations of content at end-users. We offer both automatic and explicit personalization methods.
Automatic personalization automatically suggests alternative actions to a user based on observing the user’s actions
Explicit personalization drives the choices of content based on the user’s preferences or role type.
Sybase Enterprise Portal uses role-based personalization, where what a user can see and do is driven by the user’s role and user profile. Role-based personalization is easier to administer and provides better security since a user is assigned a pre-configured role that determines what they can see and do within the portal.
Optionally, the Lifecycle Personalization Services can adapt the site’s presentation, navigation, and content to a visitor’s environment, observed behavior, and explicitly stated preferences. Each personalization agent is useful at a particular stage of the customer relationship cycle, from the new-arrival stage to the state where the visitor becomes a trusting customer and is willing to give more information about themselves.
Arrival Stage => Presentation Agent => System Targeting
Anonymous Stage => Matching Agent => Behavior Targeting
Interested Stage => Recommendation Agent => Needs Targeting
Well Known Stage => Personal Workspace => Registry / Cookies
Profiling refers to the collection of statistics of a user’s behavior. It includes gathering both explicit data that visitors provide and implicit data that is gathered by tracking a visitor’s movements through the web site.
Dynamic Subscription Services
For dynamic events, content may be organized by areas of interest, or channels. The portal audience may subscribe to these channels of interest and receive notification of the event through a notification alert tool on their desktop or through delivery to web pages, e-mail, and in formats suitable for distribution to personal devices and mobile computers.
Through a variety of dynamic content delivery options, customers may receive information as soon as it is available, based on their areas of interest and desired delivery ranging from immediate notification on the desktop to periodic e-mail update and mobile device synchronization.
EAS CLIEnt is a pull style mechanism
A client thread needs to be burnt. This thread is really acting as in request / reply scenario
Client Starts, Client Spawns a Thread, Thread now which is the main Thread. Thread requests something from the EAS server, and waits for its reply, the thread is burnt on a blocking call
Thread wakes up once the answer is back.
Thread notifies the main thread of something.
Components do not need to check their Q, they are automatically notified, they need to implement a Listener interface to make this happen.
One-to-One means that a producer send a message to a particular Q
Publish-Subscribe means that a producer publish a message with a topic to all Q
Transient means the message is kept in a in-memory Queue within EAS
Replicated means the message is replicated to other EAS Server is they are configured in a CLUSTER
Persistent means the message is stored in a Database, need to configure Message Service for non sybase databases.
By default the DDL and DML Statements are Sybase ASE or Sybase ASA compliant
Message Listener is an EAS interface that allows a component to be notified on the arrival of a message in a Q
MessageService is an EAS Interface that allows Jaguar Clients and Jaguar Components to send / publish messages in to a Q. Also allows for message Q and Topics management.
MessageQueue allows client to receive message from a Q, get a list of message q, close a message q….
start() Called to initialize the component when the server starts or when the component has been
refreshed from Jaguar Manager. This method typically initializes data structures and resources that
the service requires
run() Called after the first invocation of start() returns. run() can loop and perform repetitive tasks
as a Jaguar background process. If the component does not perform background processing, run()
can return immediately.
For services that perform background processing, run() should loop continuously while performing the
service task. run() must periodically suspend its own execution by calling the Java
() method or the Jaguar JagSleep C routine. These APIs suspend the
current thread for a specified duration so that other threads may execute. run() should return after
the server invokes the stop() method.
stop() Called when the server is shutting down or when the component has been refreshed from
Jaguar Manager (refresh stops the service and reloads it). The stop() method is provided so that you
can stop the execution of the run() method in services that perform background processing.
Thread manager is the recommended way to spawn Threads
It avoids call to low level aPI ( ie in C )
It is better because they can instanciate components using in memory mechanism, instead of network mechanisms
We need to define what is an integration Server ( Ebiz ) , before defining what is a WorkFlow Engine ( Process Server )
List of Adapters
Sap Siebel, PeopleSoft, Commerce One
Xml, Java, Cobol, Flat File, CORBA,Com/Dcom
Smtp, Ftp, Pop …
Open Transport is a sybase transparent layer for the use of the bus /message Q systems
Driver are available for IBM MQ Series, Microsoft MQ, EMQ ( Propietary Sybase Q system )
Sybase formatter: allows to define the format of the incoming messages and also to specify the format of the output message. For example if the message represent an employee id, the input message will be John,Chen,CEO,Emp1. Where John is the first field, Chen the second field … The delimiter is the comma and all the field contain string data. The output message could be Chen-John,ceo,1. The formatter allows to define in the output format ‘-’, ’,’ to be new delimiters. And to position the last name into the first position and to lower case the title.
Sybase Rules
Sybase Rules allows to route the message to an output system based on the result of the evaluation of expressions. For instance if the employee id is < 100 then route the message to the Manager Queue otherwise route the message to the regular employee queue
Point to Point means that a system information is routed to another system
But we need in the middle ebiz integrator anyway
Hub and Spoke
An information coming from a system is branched in Ebiz Integrator to several systems, say A and B based on rules defined in the EBIz
Ebiz is used for simple routes on an individual base.
Message A is independent of Message B, and the relationship between the 2 is null ( empty )
That means having 1 input q, and 2 output q (for system A and system B )
Process Server uses EBIZ Intergrator for to communicate between the different systems.
When should I use Process Server ?
If the goal is to read a message and have this rerouted somewhere else, then there is no need for Process Server
If the goal is to wait, the output of another process, then combine this output with some other output and sleep for 4 seconds before doing a computation then Process server is needed.
Support for X509 Digital Certificate Client Side and Server Side.
SOAP(Simple Object Access Protocol ) is a lightweight protocol for exchange of information in a decentralized, distributed environment. It is an XML based protocol that consists of three parts: an envelope that defines a framework for describing what is in a message and how to process it, a set of encoding rules for expressing instances of application-defined datatypes, and a convention for representing remote procedure calls and responses. SOAP can potentially be used in combination with a variety of other protocols; however, the only bindings defined in this document describe how to use SOAP in combination with HTTP and HTTP Extension Framework.
WSDL(Web Services Description Language ) is an XML format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. The operations and messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint. Related concrete endpoints are combined into abstract endpoints (services). WSDL is extensible to allow description of endpoints and their messages regardless of what message formats or network protocols are used to communicate, however, the only bindings described in this document describe how to use WSDL in conjunction with SOAP , HTTP GET/POST, and MIME.
UDDI(Universal Description, Discovery and Integration) is a specification for distributed Web-based
information registries of Web services. UDDI is also a publicly accessible set of implementations of the
specification that allow businesses to register information about the Web services they offer so that
other businesses can find them.
基于WEB的远过程调用
XML子协议,通过调用Server的方法执行操作后返回XML响应
SOAP 通常使用 HTTP/HTTPS, SMTP传输协议
独立于编程语言、操作系统以及平台
EP/EAS 属于SOAP Server / SOAP Client
对于WEB的XML格式的接口定义语言集合(Interface Define Language)
描述网络服务提供者提供服务的功能以及性能
EP用户能够创建网络服务(Web Services)并利用WSDL格式进行描述
现在我们知道了访问门户的四种途径是……
我们怎样应用他们呢 ?
动态的看一下 !