1 Part One Business Modeling Business Process Model 1
Business Process Model Sound Surveillance Video Surveillance Timing Control Lighting Control 2
2 Part Two Requirements Modeling Use Case Diagram System Boundary 3
Non functional requirements non functional requirements 1. The system should be open source. 2. Bugs/function point < 5 3. Available time >99% 4. The system should adopt the OGC sensor. Use Case Specification Use Case Name Manually Control Brief Description Provide a control interface for user to close all lights Flow of Event Use Case Scenario Basic flow: 1. User presses the lights off button 2. User confirms this instruction 3. Turn off all the lights and give feedback to user. The user presses the lights off button, then the system will ask user to confirm this instruction. After user confirming, the system turn off all the lights of the house, and give feedback to user. 4
Use Case Specification Use Case Name Sound Control Brief Description Flow of Event Use Case Scenario Provide a function to enable the system to control the lights according to signal of sound sensors. Basic flow: 1. Sound sensors send the signal from rooms 2. The system turn on the lights of rooms. Alternative Flow: 1. If the signal is from guest room, turn on the lights of guest room 2. If the signal is from bedroom, turn on the lights of bedroom 3. If the signal is from bathroom, turn on the lights of bathroom 4. If the signal is from kitchen, turn on the lights of kitchen The system gets the signal, and check the signal is from which room(guest room, bedroom, bathroom,or kitchen), then the system opens the lights of that room Use Case Specification Use Case Name Video Control Brief Description Flow of Event Use Case Scenario Provide a function to enable the system to control the lights according to signal of video sensors. Basic flow: 1. Video sensor send the signal about person coming in. 2. The system open all the lights of house. Alternative Flow: 1. After the system gets the signal from video sensor, the system finds the person inside the house, then ignores this signal. The video sensor detect the person is coming in, then it send the signal to video control. Video control check whether there is person inside the room, if not, opens all the lights. 5
Use Case Specification Use Case Name Timer Control Brief Description Flow of Event Use Case Scenario Provide a function to control the lights according to the time. Basic flow: 1. System clock send time to the timer control system 2. The system check the time and turn on/off all the lights Alternative Flow: 1. If the time value is 7am, turn on all the lights 2. If the time value is midnight, turn off all the lights The timer control system gets the time from system clock, and check the value. If the time is 7am, turn on all the lights, and if the time is midnight, turn off all the lights. Use Case Specification Use Case Name Light on Brief Description Provide a function to turn on the light Flow of Event Use Case Scenario Basic flow: 1. Find and check the light 2. If it is off, turn it on The light on function is used to turn on a certain light. If the light is on, do nothing; otherwise, turn it on. 6
Use Case Specification Use Case Name Light Off Brief Bif Description i Provide a function to turn off the light Flow of Event Use Case Scenario Basic flow: 1. Find and check the light 2. If it is on, turn it off The light on function is used to turn on a certain light. If the light is off, do nothing; otherwise, turn it off. 3 Part Three Service Modeling Services architecture, Contract, Interface 7
Services Architecture Services Contract 8
Message Diagram Service Interfaces 9
Participant Diagram Software Components Deployment 10
Sequence Diagram (Timing Control) 4 Part Four Platform Realization Web Service Implementation 11
Transformation module to create WSDL, XSD and BPEL from SoaML. BPEL Transformation 12
Export to WSDL file WSDL Details 13
Run Web Service Choose the suitable Web Service Frameworks; Choose the suitable Web Server; Use WSDL to generate Web Service Code; Web Service Framework: Where automated, decentralized services can be defined, deployed, manipulated and evolved in an automated fashion. Criteria of Web Service Framework: ease of development, deployment, licensing policies, error handling capabilities, performance, integration with IDEs, standards compliance, memory footprint, interoperability etc 14
Comparison of Web Service Frameworks Feature Axis 1.x Axis 2 CXF Glue JBossWS XFire Metr Oracle AS 10g o Basic Profile 1.1 Compliant X X X X X X X X Easily Create Services from X X X X X X X X POJOs Open Source X X X X X X RPC Encoding X X X X X Spring Support X X X X X REST Support X X X X IDEA Plugins X X X X Ant Eclipse Plugins X (STP) X X X Ant NetBeans Plugins X Ant JDeveloper X Hot Deployment X X X? X X Soap 1.1 X X X X X X X X Soap 1.2 X X X X X X X X Streaming XML (StAX based) X X X X WSDL 1.1 >Code (Client) X X X X X X X X WSDL 1.1 >Code (Server) X X X X X X X X WSDL 2.0 >Code (Client) X???? WSDL2.0 >Code (Server) X???? Client side Asynchrony X X X X With BPEL Server side Asynchrony X X X X With BPEL Policy driven code generation X X Web Server Web server is a computer program that is responsible for accepting HTTP requests from clients (user agents such as web browsers), and serving them HTTP responses along with optional data contents, which usually are web pages such as HTML documents and linked objects (images, etc.). There are several well known application web servers, like Apache http server, Apache Tomcat, AppWeb Web Server, Resin Server, Glassfish, IBM Lotus Domino service, Internet Information Services, Sun Java System Web Server. 15
Overview Comparison of Web Servers Server Developed by Cost (USD) Open source Software license Apache HTTP Server Apache Software Free Yes Apache License Foundation Apache Tomcat Apache Software Free Yes Apache License Foundation AppWeb Web Server Embedthis Software Free and Commercial Yes GPL Versions Caucho Resin Server Caucho Free Yes GPL GlassFish Sun Microsystems Free RTU, Support Yes CDDL and GPL and Subscription plans from Sun Sun supported version Sun support entitlement license comes with additional Enterprise Manager IBM Lotus Domino IBM Included with IBM Lotus No proprietary HTTP service Domino Internet Information Microsoft Included with newer No proprietary Services (IIS) Windows products Sun Java System Web Sun Microsystems Free Yes BSD Server WebLogic Oracle Corporation (formerly BEA Systems) $9000+ No proprietary Reference SoaML Designer Tutorial http://rd.softeam.com/demos/soaml Modeling SOA architectures http://www.modeliosoft.com/technologies/technologies soa.html Modelio Tutorials http://www.modeliosoft.com/tutorial.html Modelio Video Tutorials http://www.modeliosoft.com/tutorials/modelio video tutorials.html Generating Java code from a WSDL document http://teaching 2.cs.uml.edu/~heines/tools/JRun4/docs/html/Programmers_Guide/ws_wsdl5.html Generating code from WSDL http://help.eclipse.org/ganymede/index.jsp?topic=/org.eclipse.stp.sc.doc/tasks/generating_code.ht ml Modelio WSDL Designer Generate your web services from your models http://www.modeliosoft.com/modules/modelio wsdl designer.html Web Service Framework Comparison http://wiki.apache.org/ws/stackcomparison Web Server Comparison http://en.wikipedia.org/wiki/comparison_of_web_server_software 16