Services-based Systems Architecture, Design and Implementation B.Ramamurthy 11/30/2018
Goals “Retrospective” on Project 1 Discussion on plans for Project 2 Lessons learned and pitfalls to avoid Discussion on plans for Project 2 Artifacts of a large scale distributed system Architecting a services-based system Design issues in services-based system Anything else… 11/30/2018
Develop/Deploy(DD) Cycle Service Endpoint Interface wscompile Portable Artifacts WSDL Model wsdeploy Deployment Descriptors Cooked WAR 11/30/2018
Invocation Model (client side) or Invoke Cycle wscompile Portable Artifacts WSDL Implementation -specific Artifacts Client Invoke web service 11/30/2018
Client Scenarios Service endpoint interface Web service 2 WSDL JSP Client Java App. Client Servlet Client 11/30/2018
Artifacts: the server/container Host with an IP (and ports) Web servers, servlet servers, application servers All can be bundled into one More than one can be installed in a “host” machine at different port (Project 1) Each has a context root, the path of which represents “/” (Ex: /DBaccess.jsp) Each has an admin console for managing the server resources such a data source and message queues. Elegant way to access the resources in a deployed unit is through the container (server). For java, you will define JNDI (Java Naming and Directory Interface) names for the resources. Portability of deployable units (Ex: ‘Component technology’: Enterprise Java beans) 11/30/2018
Artifacts: the data Relational data base; object relational database Data modeling (Entity-Relationship modeling) Tables Operations Data access objects (DAO) Enterprise java beans (EJB) Enterprise information system (Amazon.com webservices, yahoo feeds) Legacy systems Device data (sensors) RSS, ATOM, XML and text feeds 11/30/2018
Artifacts: the services WS creation for consumption: Typically create a service from language-dependent interface/class (Ex: Java interface + class) Generate WSDL for publication and consumption. WS consumption using a published WSDL. Generate the language-dependent classes from WSDL Understand thoroughly the various components of the WSDL: messages, port type, bindings, server (server, port), etc. 11/30/2018
Artifacts: the clients Simple applications to rich client (ex: RIA rich internet application) Internationalization (languages, monitory units, etc.) HTTP monitors, cookies and counters Preference profiles 11/30/2018
Plan for Project 2 Commercial strength enterprise application built around web services offered by amazon.com ECS: http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl? Theme: Federation of information from various sources to present an intelligent interface for assembling a system of components in various vertical domains. Experience is similar to ordering a computer at Dell site. Examples: Mundane applications such as furnishing a house for a given budget or without a budget but with preferences. Based on real amazon.com data so that the application can be used by amazon.com customers. Building a home theater, a music system, stock portfolio, etc. Interaction models (groups rather than individuals) Add dynamism to amazon.com experience Make use of web services you created in Project 2. Data from other sources such as yahoo feeds. For persistence you will have oracle data source, CIT data source as well as any local data. 11/30/2018
Plan for Project 2 Non-functional requirements: Reliability (fault handling, exception handling) Performance (caching, concurrency, thread pooling?) Elegant data access using data access objects Validation of any inputs Junit/Nunit testing Security authentication Secure access Asynchronous operation, push mode Events, notification, publish, subscribe operations. Higher level WS-* standards: WS-BPEL, workflow etc. 11/30/2018
Project 2: to do We will explore the features offered by amazon.com and others. Decide on a project, title, domain, executive summary and project timelines. Lets look at some demos. Links: Amazon.com E-Commerce Service (ECS) Conceptual Model ECS Usage/Query Scenarios Types of data available through ECS (and not available) Sample applications (some of them are cool) 11/30/2018