Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Web-Services-based Systems Architecture, Design and Implementation B.Ramamurthy 5/12/2017 1 Goals Artifacts of a large scale distributed system Architecting a services-based system Design issues in services-based system Anything else… 5/12/2017 2 Develop/Deploy(DD) Cycle Service Endpoint Interface Portable Artifacts wscompile Model WSDL Deployment Descriptors 5/12/2017 wsdeploy Cooked WAR 3 Invocation Model (client side) or Invoke Cycle Portable Artifacts WSDL wscompile Implementation -specific Artifacts Client 5/12/2017 Invoke web service 4 Client Scenarios Service endpoint interface Web service 2 WSDL Web service 1 Servlet Client 5/12/2017 JSP Client Java App. Client 5 Artifacts: the server/container Host with an IP (and ports) Web servers, servlet servers, application servers 5/12/2017 All can be bundled into one More than one can be installed in a “host” machine at different port s Each has a context root, the path of which represents the root page for that server 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) 6 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 5/12/2017 7 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. Protocols: SOAP, REST (For project 1 you may use either) 5/12/2017 8 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 5/12/2017 9 Component Technology We need an application architecture that works well in the new E-commerce age. Programmer productivity, cost-effective deployment, rapid time to market, seamless integration, application portability, scalability, security are some of the challenges that component technology tries to address head on. Enterprise Java Beans is Sun’s server component model that provides portability across application servers, and supports complex systems features such as transactions, security, etc. on behalf of the application components. EJB is a specification provided by Sun and many third party vendors have products compliant with this specification: BEA systems, IONA, IBM, Oracle. 5/12/2017 B. Ramamurthy 10 Two-tier applications Presentation Logic Business Logic 5/12/2017 Database Server B. Ramamurthy 11 Three-tier Applications Presentation Logic Business Logic 5/12/2017 B. Ramamurthy Database Server 12 J2EE Application Programming Model for Web-based applications Web Service Business Logic Web Container EJB container Web Application Web client 5/12/2017 Enterprise Java Beans B. Ramamurthy Database Server 13 J2EE Application Programming Model for Three-tier Applications Business Logic Application Container Presentation Components 5/12/2017 EJB container Enterprise Java Beans B. Ramamurthy Database Server 14 J2EE Application Programming Model for Web-based Applets Browser Applet internet 5/12/2017 Web Service Business Logic Web Container EJB container Web Application Enterprise Java Beans B. Ramamurthy Database Server 15