Reliable Service Scheduler in a Distributed Web Service
Reliable Service Scheduler in a Distributed Web Service Environment John Bouchard Brad Tiffany Ethan Towne Daniel Richard
Are We Done Yet? !? !? ! 2
Recap of Project n Service scheduler in a web service environment Application Server 3
Applications n Two Applications n QB Rating Calculator n Base Conversion Tool n Two Versions n Windows Application n PDA Application 4
Application Design n Create Windows Application n Redesigned UI for PDA n Client-Server Model PDA Applications use Client – Server Model 5
Client Side XML Writer Server Side XML Reader Server Side Processing XML Reader XML Writer 6
Client Side XML Writer Server Side XML Reader Server Side Processing XML Reader XML Writer 7
Client Side XML Writer Server Side XML Reader Server Side Processing XML Reader XML Writer 8
Client Side XML Writer Server Side XML Reader Server Side Processing XML Reader XML Writer 9
Client Side XML Writer Server Side XML Reader Server Side Processing XML Reader XML Writer 10
Client Side XML Writer Server Side XML Reader Server Side Processing XML Reader XML Writer 11
Demo Time! QB Rating Calculator Application VS. primecomputing. com QB rating calculator ---------------------------Comparison of PDA Base Conversion Tool Vs. Windows Calculator Application 12
Flagship Application n Application Choice: Avatar Chat Environment-2 D n Combines Game, Chat, Utility n Game: Interactive, Fun n Chat: Real-time communication n Utility: Navigate services n n Parallels previous team’s Flagship 13
Flagship Application 14
Flagship Application 15
Flagship Application 16
Flagship Application 17
Flagship Application 19
Flagship Application n Work remaining: Port to Pocket. PC n Share info with C# host (on same system) n Add functionality n 20
Service Manager Overview and Important Design Decisions Ethan Towne 21
Service Manager Design Alters Agent Queue in Scheduler Accepts Client Connections Service Manager Spawns Service Agent 3 Spawns Service Agent To Client Agent 2 To Client 22
Service Agents n n Each service has own thread called an “agent” Each agent only runs when their turn has come 23
Design Decisions n n Asynchronous vs. Synchronous data reception. Using polymorphism to launch client applications SQL queries used to pull data for server implementation Data Transfer Protocol 24
Synchronous n Listening to a socket blocks the thread until data arrives. 25
Asynchronous n Listening to a socket creates a new thread and blocks that thread. 26
Polymorphism n n n Clients implement a common interface (Base Class). Server creates a pointer of type interface (Base Class). Pointer can then dynamically be set to point to the needed client application. 27
Database Backend tbl. User Fields: Key: usr. UD rel. Services Name Pass FK: usr. ID Info etc. FK: srvc. ID tbl. Services Fields: Key: srvc. ID Service Name Usage Info etc. 28
SQL Statements n Used to query database for unique data sets. A simple query: "Select * from test. Table WHERE Name='"+name+ "' AND Pass='"+pass+"'" 29
Relational Statements n Used to select datasets from 2 or more tables. For example: “Select * FROM test. Table, test. Table 2 WHERE test. Table. user. Id = 5 AND test. Table. user. ID = test. Table 2. user. ID; 30
Data Transfer Protocol XML used to transfer data. To. XML() and From. XML() Wraps/Unwraps data transferred into packets containing important data for the server. 31
Service Scheduler Daniel Richard 32
Abstract Service Scheduler Design n Handling Input n What needs to be completed n Final Product n Recap n 33
Scheduler Soft Real. Time Queue Priority Queue Dispatcher (service activator) S 1 S 3 S 2 S 4 . Net Runtime 34
Input Buffer Queue n n n All Input is passed into an Input Buffer Queue. The packets are scheduled according to their priority or deadline. The service agent will be given control of CPU when their packet is dispatched. 35
What’s Next? n Implementation of the Service Scheduler n Complete Implementation of the Client. Server Model n Integration of Client and Server 36
Finished Product n Server executable n n Client executable n n Requires. Net Framework Runs on PDA or Emulator Fully Documented Code 37
Future Semesters n n n Expand on Database backend Add PC version of the Client program Add more Client programs and services Expand on Flagship Application Possibilities are endless 38
Recap n n n Demo of PDA Applications Flagship Application Service Manager Service Scheduler Finished Product 39
? 40
- Slides: 40