Presentation is loading. Please wait.

Presentation is loading. Please wait.

E-Commerce Architectures and Technologies Rob Oshana Southern Methodist University.

Similar presentations


Presentation on theme: "E-Commerce Architectures and Technologies Rob Oshana Southern Methodist University."— Presentation transcript:

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

72

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


Download ppt "E-Commerce Architectures and Technologies Rob Oshana Southern Methodist University."

Similar presentations


Ads by Google