Transcript Discussion
Services-based Systems
Architecture, Design and
Implementation
B.Ramamurthy
4/12/2016
1
Goals
“Retrospective” on Project 1
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…
4/12/2016
2
Artifacts: the server/container
Host with an IP (and ports)
Web servers, servlet servers, application servers
4/12/2016
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)
3
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
4/12/2016
4
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.
4/12/2016
5
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
4/12/2016
6
Plan for Project 2
Commercial strength enterprise application built around web services
offered by amazon.com ECS:
http://webservices.amazon.com/AWSECommerceService/AWSECom
merceService.wsdl?
Theme: Federation of information from various sources to present an
intelligent interface for assembling a system of components in various
vertical domains.
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 1.
Data from other sources such as yahoo feeds.
4/12/2016For persistence you will have oracle data source, CIT data source as 7
well as any local data.
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.
4/12/2016
8
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)
4/12/2016
9