Download presentation
Presentation is loading. Please wait.
Published byJessie Horn Modified over 8 years ago
1
E-Commerce Architectures and Technologies Rob Oshana Southern Methodist University
2
Anatomy of E-Business Functions
3
Distributed Computing
4
Computing is said to be "distributed" when the computer programming and data that computers work on are spread out over more than one computer, usually over a network Computing prior to low-cost computer power on the desktop, was organized in centralized "glass houses" (so-called because the computers were often shown to visitors through picture windows)
5
Distributed Computing Modern enterprises are using a mix of desktop workstations, local area network servers, regional servers, Web servers, and other servers
6
Distributed Computing A popular trend has been client- server computing which is simply the view that a client computer can provide certain capabilities for a user and request others from other computers that provide services for the clients –(The Web's HTTP protocol is an example of this idea.)
7
Client/Server Computing
8
What is Client/Server Computing The client–server model consists of three parts: client - the active component that initiates a request server - the passive component that returns a service network - the media that enable the transmission of requests and services A request Client Server A service /Client Server A service
9
What are the Models of Client/Server Computing? The key is the leverage of computing power between Clients and the Server How much work or how many functions are to be handled by the client versus its server
10
Major Components in Client/Server User Interface (I/O functions - Thin Client, WWW, Phone) Functional Process (Business Rules) DBMS (for data access and retrievals, networking, services) User Interface (e.g., Browser, I/O routines) Functional Obj. (e.g., Stored procedures/Triggers) Data Mgmt(e.g., DB2, Oracle, SQL/Server)
11
Major Models for Client/Server Three-Tier Model Client requests its service via some pre- compiled modules (COM) to interact with data access software on the server Client Server Agent (COM) Component Object Module (e.g., precompiled stored procedures)
12
3 Tier Client/Server Third-Tier - Databases, Legacy Data COMCOM SNA etc... CORBA Mid-Tier - HTTP, Biz Objects, Active Server Pages, Scripting COMCOM HTTPHTTP “Desktop” - Compound Documents, Controls, Scripting
13
Three-Tier Client/Server Model Data Mgmt Client DB Server User Interface (e.g., Browsers) Functions Function Server Communication Network
14
A New Trend in Object-oriented Client/Server - N-tier Model N-tier Architecture Back-end-tier System Server Database Server Mail Server Gateway Server DNS Server x-tier Business COM 3rd-tier Business COM 2nd-tier Business COM First tier Client Interface
15
Distributed Computing Most popular distributed object paradigms –Common Object Request Broker Architecture (CORBA) –Distributed Component Object Model (DCOM) –Java/Remote Method Invocation (Java/RMI)
16
CORBA and ORBs
17
CORBA Common Object Request Broker Architecture Brokers requests for services from objects that may reside elsewhere on a network Provides location independence Provides vendor and language interoperability
18
CORBA Everything in the CORBA architecture depends on an Object Request Broker (ORB) –acts as a central Object Bus over which each CORBA object interacts transparently with other CORBA objects located either locally or remotely
19
CORBA Since CORBA is just a specification, it can be used on diverse operating system platform –mainframes –UNIX boxes –Windows machines –handheld devices As long as there is an ORB implementation for that platform
20
CORBA Architecture Object Request Broker (ORB) is the most important component Object Services are the low-level services that must be available on all platforms in a distributed system (e.g., lifecycle)
21
CORBA Architecture Common Facilities are the commonly-found services in particular distributed systems (e.g., email, print queuing) Application Objects are the high- level applications themselves (e.g., spreadsheets, word processors, programmable controllers)
22
CORBA Architecture CORBA ORB CORBA Applications CORBA Domains CORBA Facilities CORBA Services
23
Object Request Broker A CORBA Object Request Broker (ORB) is the middleware that establishes the client-server relationship between objects Using an ORB, a client object can invoke a method on a server object that can be on the same machine or across a network
24
Object Request Broker The ORB intercepts the call and finds an object that can implement the request, pass it the parameters, invoke its method, and return the results CORBA, like SQL, provides both static and dynamic interfaces to its services
25
Object Request Broker The client does not have to know the object's location, its programming language, its operating system, or any other system aspects that are not part of an object's interface Also, the client and server roles are dynamic: an object on the ORB can act as either client or server, depending on the occasion
26
Communicating via ORBs Local Host Java Interpreter or Browser Client Applet Remote Host Object Implementation ORB Request
27
Distributed Computing with CORBA The client application does not need to know whether the object resides on the same computer or on a remote computer elsewhere on the network The client application needs to know only two pieces of information –the object's name –how to use the object's interface
28
Distributed Computing with CORBA The ORB takes care of the details –locating the object –routing the request –returning the result
29
Features and Benefits Each object encapsulates the details of its inner workings and presents a well-defined interface, reducing application complexity The CORBA approach also reduces development costs, because once an object is implemented and tested, it can be used over and over again
30
Features and Benefits CORBA's platform independence lets you run and invoke the object from any platform; you can run an object from the platform that makes the most sense for that object CORBA's language independence lets you reuse existing code and leverage your existing programming skills
31
Features and Benefits CORBA is based on an open, published specification Implemented on and supported by numerous hardware and operating system platforms CORBA Java objects are portable –build objects on one platform and deploy them on any other supported platform
32
Features and Benefits Interoperability. CORBA objects are fully interoperable because they communicate using the Internet Inter-ORB Protocol (IIOP) Software bridges enable communications between CORBA objects and objects developed using Microsoft's DCOM technology
33
Features and Benefits Modularity. CORBA objects interact via interfaces –developers can modify objects without breaking other parts of the application –Changing an object's implementation does not affect other objects or applications because that object's interface stays the same
34
Features and Benefits Compatibility. CORBA protects your investment in existing systems –You can encapsulate a legacy application, module, or entry point in a CORBA IDL wrapper that defines an interface to the legacy code Security. CORBA provides security features such as encryption, authentication, and authorization to protect data and to control user access to objects and their services
35
CORBA Environment Source: Netscape
36
CORBA in a Three Tier Architecture Source: Netscape
37
Example Parcel-tracking application Suppose an Internet user wants to track delivery of a package From a browser, the user enters a URL that points to the delivery company's Web server Source: Netscape
38
Example The server uses HTTP to send a Web page to the user –that page contains an embedded Java applet, which is the client component of the parcel-tracking system So far, nothing is different from a traditional HTTP Web transaction
39
Example Next, the user enters a parcel-tracking number into the appropriate field in the Java applet Using the client-side ORB, the applet then generates and sends an IIOP message across the network, looking for a specifically-named server object that can obtain the status of the parcel
40
Example The ORB on the server with the appropriate parcel-tracking object picks up the message and invokes the object's status-finding method Through the server ORB, the object then generates another IIOP message looking for an object on a legacy system that contains all the parcel company's data
41
Example Upon obtaining the last request through its ORB, the mainframe containing the data-tracking object determines that status of the parcel from its database The mainframe returns an IIOP message with the information to the server object
42
Example The server then routes the information-again with IIOP and the ORBs-to the Java applet running on the client, which displays the results to the user
43
Example Source: Netscape
44
COM COM (Component Object Model) is Microsoft's framework for developing and supporting program component objects It is aimed at providing similar capabilities to those defined in CORBA
45
COM COM provides the underlying services of interface negotiation, life cycle management (determining when an object can be removed from a system), licensing, and event services (putting one object into service as the result of an event that has happened to another object) COM includes COM+, DCOM, and ActiveX interfaces and programming tools
46
COM Principles Rigorous Encapsulation –Black box -- no leakage of implementation details –All object manipulation through strict interfaces Polymorphism –via multiple interfaces per class –“Discoverable”: QueryInterface COM Object IUnknown IRobot IDispatch
47
COM Architecture Client Component Inprocess COM run time providerSecurity RPC RPC COM run time Securityprovider RPC RPC Local LPC Protocol stack DCOM network- protocol Remote Source: Microsoft
48
Pluggable Transports COM Client COM Runtime Architecture Flexible and extensible Component COM Runtime Server MachineClient Machine TCP, UDP SPX,IPX Net BUI HTTP “Falcon” COM Runtime Proxy Other Component Source: Microsoft
49
The COM Architecture A scalable programming model Client Component In the same process Fast, direct function calls Client Component COM Client Process Server Process On the same machine Fast, secure IPC Across machines Secure, reliable and flexible DCE-RPC based DCOM protocol COM DCE RPC Client Server Machine Client Machine COM Component Source: Microsoft
50
DCOM DCOM which is often called 'COM on the wire', supports remoting objects A DCOM server is a body of code that is capable of serving up objects of a particular type at runtime DCOM server components can be written in diverse programming languages like C++, Java, Object Pascal (Delphi), Visual Basic and even COBOL
51
DCOM As long as a platform supports COM services, DCOM can be used on that platform DCOM is now heavily used on the Windows platform
52
ServerClient COM/DCOM Lets ActiveX components run anywhere COM Remote object on any server Object running on client COM Source: Microsoft
53
COM Client Linux 2.0 (Intel) BETA COM HP/UX COM Digital Open VMS COM Siemens Nixdorf SINIX COM SCO UnixWare COM Digital Unix 4.0 (Alpha) RC COM IBM MVS 5.2.2 (OS390) COM IBM OS/400 COM IBM AIX COM DCOM Sun Solaris (Sparc) 2.5 RC COM Q3’97 Q1’98 H1’98 Q4’97 H1’98 Q4’97 COM and DCOM Source: Microsoft
54
Containers Office Binder MosaicMosaic Internet Explorer Windows Shell Architecture Overview Internet Explorer HTMLHTML VRMLVRML WordWord VisioVisio MicroGrafxMicroGrafx ActiveX documents HTMLHTML VRMLVRML MPEGMPEG VRMLVRML RealAudioRealAudio HTMLHTML ActiveX controls ShockwaveShockwaveODBCODBC VRMLVRMLHTMLHTML Visual Basic Script JavaScriptJavaScript REXXREXX ActiveX scripting PERLPERL Visual Basic Script Script JavaScriptJavaScript Services URL resolution HTTP, FTP URL resolution HTTP, FTP HyperlinkingHistoryFavoritesHyperlinkingHistoryFavorites Code download and security Code download and security
55
COM+ COM+ is an extension of COM COM+ is both an object-oriented programming architecture and a set of operating system service It adds to COM a new set of system services for application components while they are running, such as notifying them of significant events or ensuring they are authorized to run
56
COM+ COM+ is intended to provide a model that makes it relatively easy to create business applications that work well with the Microsoft Transaction Server (MTS) in a Windows NT system
57
COM+ It is viewed as Microsoft's answer to the Sun Microsystems-IBM-Oracle approach known as Enterprise JavaBeans (EJB) Among the services provided by COM+ are: –An event registry that allows components to publish the possibility of an event and other components to subscribe to be notified when the event takes place
58
COM+ –The interception of designated system requests for the purpose of ensuring security –The queueing of asynchronously received requests for a service
59
COM+ COM+ Services: EventsSecurity Load Balancing Queued Queued Components Components In Memory Database Compensating Resource Resource Manager ManagerAdministration MTS MTS MTS Services: Transactions Transactions Resource Pooling Resource Pooling Security Security Administration Administration COM The Model Tools Support Multi-Language Discovery (QI) COM+ A caring, sharing environment for your componentsCOM+ A caring, sharing environment for your components Technology Scenario
60
E-Business Servers E-Business functions can be processed by several servers in an e- business site –Arrive by browsers (B2C) –Generated by computers (B2B)
61
Servers of an E-Business Site E-business site client Web server Secure Web server Payment server Application server Database server
62
Anatomy of E-Server Transactions E-business functions implemented through client/server interactions –Client makes a request to a server (primary server) –Possible help from secondary servers Execution is not deterministic –Request only sent to DB server if the application server does not have the data
63
E-Business Functions and C/S Interactions E-Business Function (e.g. Browse, Search, Pay) 12 n.. Client/Server Interactions
64
C/S Interaction clientweb server application server database server
65
C/S Interaction Diagram CSID is specified for each e-business function Represents all possible interactions for that function CSID structure –Nodes; represent visits to clients and/or servers during execution Square nodes; client nodes Circle nodes; represent servers involved in the implementation –Arcs; represent probabilities and message types
66
CSID C WSASDBASWS C C C 1 2 3 4 5 6 7 8 910 [1,m1] [0.95,m3] [0.8,m6][1,m7][1,m8][1,m9] [0.05,m2] [0.2,m4] [1,m5] C: client AS: application server DB: database server WS: Web server
67
C/S Interactions C WS C 1 2 3 [1,m1] [0.05,m2] C WSASDBASWS C 1 2 4 7 8 910 [1,m1] [0.95,m3] [0.8,m6][1,m7][1,m8][1,m9] a. Interaction 1 b. Interaction 2
68
C WSAS C WS 1 2 4 5 6 [1,m1] [0.95,m3] [0.2,m4] [1,m5] C/S Interactions c. Interaction 3
69
Expanded CSID Notation ASDB [1.0,m9][1.0,m10] AS DB [1.0,m11] 4 4.14.27 search ASDB WS... 4 7 5 [0.8,-][1.0,m7] [0.2,m5]
70
From CBMGs to CSIDs 1. Obtain the static CBMG 2. From the static CBMG build a list of all e-business functions 3. For each business function, determine the software servers (web server, app server, DB server, authentication server) involved in the execution –Document the relationship
71
From CBMGs to CSIDs 4. Determine the flow of messages between client and server and build a CSID for each business function 5. Estimate the message sizes for each of the messages in the CSID 6. Determine for each node of the CSID associated with an e-business function, the amount of resources of each type (processor, storage systems, etc) when the e-business function is executed
73
CBMG EntryHomeLogin Add to cart Select Browse Search Register Pay Search
74
CSID for E-Business function PAY CASPS TS C C C Resource usage for payment server - cpu time - number of I/Os
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.