You are on page 1of 15

Ateneo de Manila University John Gokongwei School of Management Project Information Cataloging System (PICS)

Class Project Information and Cover Sheet


Name of Student/s: Ang, Faye Hannah Cayabyab, Kriza Diane Dagamac, Geoffrey Garperio, Nikka School Year: 2011-2012 Sem: 2 Subject Code: MIS181.9 Course Name: Service-Oriented Architecture Teacher(s): Ms. Christine Amarra (Information below this line and in this column for use by Faculty &/or PICS staff only.) Grade: Call Number: Project Title: E-Plus Stationery Inc. Service Modeling Study Client: E-Plus Stationery Incorporated Industry Category: School, Office & Computer Supplies, Wholesale Abstract (150 words or less) E-Plus Stationery Incorporated is a company with its office located in Binondo, Manila and its warehouse in Paco, Manila. The companys main business is to supply office, school, computer products and other general merchandise to its clients. It prides itself with 25 years of experience in this industry and for being the all-time preferred stationery provider in the Philippines. Its business partners include some of the biggest local and multinational companies in the country. The companys business processes include online membership, quotation, customer service, order taking, delivery, and inventory checking. These processes, although already effective, can be further improved by developing a service-oriented solution. Service modeling will help us arrive to a more efficient service-oriented architecture for the company. Functional Area:

Comments:

Author(s) Recommended Key Words supplies, products, office, school, computer, service modeling, business process, soa

E-PLUS STATIONERY INCORPORATED : SERVICE M ODELING

Table of Contents
Business Layer .......................................................................................................................... 3 Background of the Organization ............................................................................................................... 3 Business Function ..................................................................................................................................... 3 Application Layer ....................................................................................................................... 4 I. Technologies ..................................................................................................................................... 4 Hardware .............................................................................................................................................. 4 Software ................................................................................................................................................ 4 Network ................................................................................................................................................ 4 Data ....................................................................................................................................................... 4 II. Proposed System .............................................................................................................................. 5

Service Layer ............................................................................................................................. 5 I. II. Service Candidates ............................................................................................................................ 5 Reviewed Services............................................................................................................................. 6 Service Inventory (List of all Services) ................................................................................................... 6 Services and Its Operations................................................................................................................... 6 Service Composition ............................................................................................................................. 7 XSD: Quotation Service ............................................................................................................. 9 Service Contract: WSDL Abstract Definition ..............................................................................11 Inventory Tracking Service ...................................................................................................................... 11 Database Service ..................................................................................................................................... 13 Reports and Backup Service .................................................................................................................... 14

E-PLUS STATIONERY INCORPORATED : SERVICE M ODELING

Business Layer
Background of the Organization
E-Plus Stationery Incorporated is a company that supplies clients with high-quality original products. Established in 1986, E-Plus Stationery Incorporated has been a reliable stationery supplier. It has been supplying customers with a wide-range of office, school, and computer products at reasonable prices. There products include all kinds of office, school, and computer products such as pens, paper, original computer printer inks, staplers, tapes, CDs, DVDs, and other general merchandise. Not only are they providing their clients with the best products, they are also considered as the preferred stationery provider of the top 1000 corporations in the country because of their reliability.

Business Function
With its 25 years in the industry, E-Plus Stationery Incorporated has invested on practical technology for their ordering and delivery. They have implemented a computerized sales invoicing and accounts receivable system. According to Gloria Go, owner of E-Plus Stationery Incorporated, processing of services are more personalized to benefit their clients. They have also considered using online quoting or sending orders through emails to make the processing more efficient and eliminate all unnecessary delays from manual ordering. As Gloria Go would say, E-Plus ability to adapt to diverse procurement systems places the company as one of the top stationery providers in the country. When asked what the companys mission is, Ms. Gloria Go said that it would be to be among the industry leaders in the office and computer supplies industry catering to the countrys top corporations. There is really no stopping E-Plus Stationery Incorporated to pursue their goal to become the countrys top stationery supplier. Also, when asked if the company have been considering widening the range of their products in the future (selling products other than their current), Ms. Gloria Go said that they plan on including computer hardware such as personal computers, printers, scanners, and total office printing solution as part of the list of their products. In regards of improvements for the company, Ms. Gloria Go said that they are currently trying to automate their inventory system, so that they would be able to monitor the incoming and outgoing of their products more effectively.

E-PLUS STATIONERY INCORPORATED : SERVICE M ODELING

Application Layer
I. Technologies
Hardware
COMPUTERS Computers that are used in daily business operations like accepting and answering of inquiries, updating of company website, and checking of inventory. TELEPHONE The company still applies manual operations like answering of phone calls made by customers and contacting suppliers via telephone landline.

Software
QUOTATION SYSTEM Software program on the secretarys computer that records every request for quotation of customers through their company website. MEMBERSHIP SYSTEM Software program on the secretarys computer that gets the information of those customers who signed up on their website. NOTIFICATION SYSTEM Software in the warehouse that the warehouse staff uses to notify the secretary of the number of supplies they currently have on a daily basis.

Network
The main office of E-Plus has a wireless-fidelity connection used for business operations.

Data
Data used by E-Plus are basically all the information about their products such as the item name, price, supplies in stock, sales, etc. and information about suppliers, clients and members.

E-PLUS STATIONERY INCORPORATED : SERVICE M ODELING

II.

Proposed System

INVENTORY SYSTEM The group wants to propose an inventory system that monitors the incoming and outgoing of supplies. A well-fitted warehouse staff would be assigned to operate the system. The user would input every incoming and outgoing of supplies so that at the end of the day a warehouse staff would be assigned as a checker to manually count the products for checking. This may lead to lesser errors in inventory counting. Also, this system would use the notification system that the company is currently using to automatically send notification to the secretary if ever a certain product falls lower than the desired number of supply. For the proposed inventory system, the group proposes that the implementation of the said system be SQL-based. MySQL database management system is flexible, reliable, simple, and fast. Since the system is for inventory checking, it would require a database that has large data storages and allows the user to easily access and retrieve the needed data. MySQL was chosen because it qualifies for the system and it offers affordability, security, simplicity, and flexibility.

Service Layer
I. Service Candidates
INVENTORY TRACKING SERVICE E-Plus Stationary Incorporateds current inventory process is manual. We recommend that they improve this service by using an inventory management program that will improve efficiency and accuracy of inventory tracking. This service will also be responsible for automatically generating notifications if a certain product or a number of products are under the reorder level. DATABASE SERVICE A MySQL Database is recommended for the storage of the data that will be obtained through the inventory management program. The MySQL Database will guarantee the safety of the information that will be stored by the Inventory tracking program. MySQL also has a backup capability which can further ensure the safety of the information that will be stored by the inventory tracking system. This will improve information storage and make it quick and easy to access desired information. REPORTS AND PRINTED BACKUP SERVICE This service is composed of the capability of both viewing and printing information regarding the inflow and outflow of the inventory system. This will serve as both an extended backup functionality and a printed report for the use of the staff or owners.

E-PLUS STATIONERY INCORPORATED : SERVICE M ODELING

II.

Reviewed Services
INVENTORY TRACKING SERVICE DATABASE SERVICE REPORTS AND BACKUP SERVICE

Service Inventory (List of all Services)

Services and Its Operations


INVENTORY TRACKING SERVICE 1. Retrieves data regarding the amount of products to be added to or deducted from inventory. 2. Displays the remaining stocks of products. 3. Notifies staff if a certain product needs to be restocked. 4. Stores the data gathered into a database preferably MySQL. DATABASE SERVICE 1. Keeps the data gathered from the inventory management program. 2. Creates backup files for improved safety purposes. REPORT AND PRINTED BACK UP SERVICE 1. Prints out information regarding the inflow and outflow of inventory. 2. Prints out a backup list of current inventory information.

E-PLUS STATIONERY INCORPORATED : SERVICE M ODELING

Service Composition

Service Messages
INVENTORY TRACKING SERVICE <message name="ProductData"> <part name="Name" type="xsd:string"/> <part name="Category" type="xsd:string"/> <part name="Size" type="xsd:string"/> <part name="Color" type="xsd:string"/> <part name="Quantity" type="xsd:nonNegativeInteger"/> <part name="Price" type="xsd:double"/> <part name="Supplier" type="xsd:string"/> </message> <message name="ProductName"> <part name="Name" type="xsd:string"/> <part name="Quantity" type="xsd:nonNegativeInteger"/> </message> <message name="TotalPrice"> <part name="Price" type="xsd:double"/> </message>

E-PLUS STATIONERY INCORPORATED : SERVICE M ODELING

<message name="RemainingStocksOfProduct"> <part name="Quantity" type="xsd:nonNegativeInteger"/> </message> <message name="NewMessage4"/> <message name="LowStockNotification"/> DATABASE SERVICE <message name="InventoryData"> <part name="field" type="xsd:anyType"/> </message> <message name="NewMessage4"/> <message name="BackUpData"/> REPORTS AND BACKUP SERVICE <message name="MembershipApplicationDatabase"> <part name="Name" type="xsd:Name"/> <part name="Address" type="xsd:anyType"/> <part name="ContactNo." type="xsd:long"/> <part name="EmailAdd." type="xsd:string"/> <part name="Username" type="xsd:string"/> <part name="Password" type="xsd:anyType"/> </message> <message name="ProductAndCustomeInfo"> <part name="MemberName" type="xsd:Name"/> <part name="ProductName" type="xsd:string"/> <part name="Quantity" type="xsd:nonNegativeInteger"/> <part name="TotalPrice" type="xsd:double"/> </message> <message name="InflowAndOutflowReport"/> <message name="NewMessage6"/> <message name="CurrentInventoryReport"/> <message name="NewMessage4"/> <message name="InflowAndOutflowRequest"/> <message name="CurrentInventoryRequest"/> <message name="NewMessage7"/>

E-PLUS STATIONERY INCORPORATED : SERVICE M ODELING

XSD: Quotation Service

<?xml version="1.0" encoding="UTF-8"?> <!-- edited with XMLSpy v2012 rel. 2 (http://www.altova.com) by Nikka (Ateneo) --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:annotation> <xs:documentation>E-Plus Stationery Inc. Request For Quotation Service</xs:documentation> </xs:annotation> <xs:element name="QuotationRequest"> <xs:complexType> <xs:sequence> <xs:element name="Customers"> <xs:complexType>

E-PLUS STATIONERY INCORPORATED : SERVICE M ODELING


<xs:sequence> <xs:element name="Customer" type="CustomerType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Inquiries"> <xs:complexType> <xs:sequence> <xs:element name="Inquiry" type="InquiryType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:key name="CustomerName"> <xs:selector xpath="Customers/Customer"/> <xs:field xpath="@CustomerName"/> </xs:key> <xs:keyref name="CustomerNameRef" refer="CustomerName"> <xs:selector xpath="Inquiries/Inquiry"/> <xs:field xpath="CustomerName"/> </xs:keyref> </xs:element> <xs:complexType name="CustomerType"> <xs:sequence> <xs:element name="CompanyName" type="xs:string"/> <xs:element name="Address" type="xs:string"/> <xs:element name="Email" type="Email"/> <xs:element name="Phone" type="xs:string"/> <xs:element name="Message" type="xs:string"/> </xs:sequence> <xs:attribute name="CustomerName" type="xs:token" use="required"/> </xs:complexType> <xs:simpleType name="Email"> <xs:restriction base="xs:string"> <xs:pattern value="[A-Za-z0-9_]+([-+.'][A-Za-z0-9_]+)*@[A-Za-z0-9_]+([-.][A-Zaz0-9_]+)*\.[A-Za-z0-9_]+([-.][A-Za-z0-9_]+)*"/> </xs:restriction> </xs:simpleType> <xs:complexType name="InquiryType"> <xs:sequence> <xs:element name="CustomerName" type="xs:token"/> <xs:element name="InquiryDate" type="xs:dateTime"/> <xs:element name="RequiredDate" type="xs:dateTime"/> </xs:sequence> <xs:attribute name="Items" type="xs:token" use="required"/> </xs:complexType> </xs:schema>

10

E-PLUS STATIONERY INCORPORATED : SERVICE M ODELING

Service Contract: WSDL Abstract Definition


Inventory Tracking Service

<?xml version="1.0" encoding="UTF-8"?> <!-- edited with XMLSpy v2012 rel. 2 (http://www.altova.com) by Kri C (AdMU) --> <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.ecerami.com/wsdl/HelloService.wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" name="HelloService" targetNamespace="http://www.ecerami.com/wsdl/HelloService.wsdl"> <message name="SayHelloRequest"> <part name="firstName" type="xsd:string"/> </message> <message name="SayHelloResponse"> <part name="greeting" type="xsd:string"/> </message> <message name="NewMessage"/> <message name="NewMessage2"/> <message name="NewMessage3"/> <message name="getNameRequest"> <part name="parameter" type="xsd:string"/> </message> <message name="getNameResponse"> <part name="parameter" type="xsd:string"/> </message> <message name="ProductData"> <part name="Name" type="xsd:string"/> <part name="Category" type="xsd:string"/> <part name="Size" type="xsd:string"/> <part name="Color" type="xsd:string"/> <part name="Quantity" type="xsd:nonNegativeInteger"/> <part name="Price" type="xsd:double"/> <part name="Supplier" type="xsd:string"/> </message> <message name="ProductName"> <part name="Name" type="xsd:string"/> <part name="Quantity" type="xsd:nonNegativeInteger"/> </message>

11

E-PLUS STATIONERY INCORPORATED : SERVICE M ODELING


<message name="TotalPrice"> <part name="Price" type="xsd:double"/> </message> <message name="RemainingStocksOfProduct"> <part name="Quantity" type="xsd:nonNegativeInteger"/> </message> <message name="NewMessage4"/> <message name="LowStockNotification"/> <portType name="InventoryService_PortType"> <operation name="Inventory"> <input message="tns:ProductData"/> <output message="tns:RemainingStocksOfProduct"/> </operation> <operation name="Notification"> <output message="tns:LowStockNotification"/> </operation> </portType> <binding name="InventoryService_Binding" type="tns:InventoryService_PortType"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="Inventory"> <soap:operation soapAction="urn:#Inventory"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="Notification"> <soap:operation soapAction="urn:#NewOperation"/> <output> <soap:body use="literal"/> </output> </operation> </binding> <service name="InventoryService_Service"> <documentation>WSDL File for HelloService</documentation> <port name="Inventory_Port" binding="tns:InventoryService_Binding"> <soap:address location="http://localhost:8080/soap/servlet/rpcrouter"/> </port> </service> </definitions>

12

E-PLUS STATIONERY INCORPORATED : SERVICE M ODELING

Database Service

<?xml version="1.0" encoding="UTF-8"?> <!-- edited with XMLSpy v2012 rel. 2 (http://www.altova.com) by Kri C (AdMU) --> <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.ecerami.com/wsdl/HelloService.wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" name="HelloService" targetNamespace="http://www.ecerami.com/wsdl/HelloService.wsdl"> <message name="SayHelloRequest"> <part name="firstName" type="xsd:string"/> </message> <message name="SayHelloResponse"> <part name="greeting" type="xsd:string"/> </message> <message name="NewMessage"/> <message name="NewMessage2"/> <message name="NewMessage3"/> <message name="getNameRequest"> <part name="parameter" type="xsd:string"/> </message> <message name="getNameResponse"> <part name="parameter" type="xsd:string"/> </message> <message name="InventoryData"> <part name="field" type="xsd:anyType"/> </message> <message name="NewMessage4"/> <message name="BackUpData"/> <portType name="DatabaseService_PortType"> <operation name="MySQLDatabase"> <input message="tns:InventoryData"/> <output message="tns:BackUpData"/> </operation> </portType> <binding name="DatabaseService_Binding" type="tns:DatabaseService_PortType"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="MySQLDatabase"> <soap:operation soapAction="urn:#NewOperation"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output>

13

E-PLUS STATIONERY INCORPORATED : SERVICE M ODELING


</operation> </binding> <service name="DatabaseService_Service"> <documentation>WSDL File for HelloService</documentation> <port name="MySQLDatabase_Port" binding="tns:DatabaseService_Binding"> <soap:address location="http://localhost:8080/soap/servlet/rpcrouter"/> </port> </service> </definitions>

Reports and Backup Service

<?xml version="1.0" encoding="UTF-8"?> <!-- edited with XMLSpy v2012 rel. 2 (http://www.altova.com) by Kri C (AdMU) --> <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.ecerami.com/wsdl/HelloService.wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" name="HelloService" targetNamespace="http://www.ecerami.com/wsdl/HelloService.wsdl"> <message name="SayHelloRequest"> <part name="firstName" type="xsd:string"/> </message> <message name="SayHelloResponse"> <part name="greeting" type="xsd:string"/> </message> <message name="NewMessage"/> <message name="NewMessage2"/> <message name="NewMessage3"/> <message name="getNameRequest"> <part name="parameter" type="xsd:string"/> </message> <message name="getNameResponse"> <part name="parameter" type="xsd:string"/> </message> <message name="MembershipApplicationDatabase"> <part name="Name" type="xsd:Name"/> <part name="Address" type="xsd:anyType"/> <part name="ContactNo." type="xsd:long"/> <part name="EmailAdd." type="xsd:string"/>

14

E-PLUS STATIONERY INCORPORATED : SERVICE M ODELING


<part name="Username" type="xsd:string"/> <part name="Password" type="xsd:anyType"/> </message> <message name="ProductAndCustomeInfo"> <part name="MemberName" type="xsd:Name"/> <part name="ProductName" type="xsd:string"/> <part name="Quantity" type="xsd:nonNegativeInteger"/> <part name="TotalPrice" type="xsd:double"/> </message> <message name="InflowAndOutflowReport"/> <message name="NewMessage6"/> <message name="CurrentInventoryReport"/> <message name="NewMessage4"/> <message name="InflowAndOutflowRequest"/> <message name="CurrentInventoryRequest"/> <message name="NewMessage7"/> <portType name="GenerateReport_PortType"> <operation name="InventoryReport"> <output message="tns:InflowAndOutflowReport"/> <input message="tns:InflowAndOutflowRequest"/> </operation> <operation name="InventoryReport"> <input name="InventoryReportRequest" message="tns:CurrentInventoryRequest"/> <output name="InventoryReportResponse" message="tns:CurrentInventoryReport"/> </operation> </portType> <binding name="GenerateReport_Binding" type="tns:GenerateReport_PortType"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="InventoryReport"> <soap:operation soapAction="urn:#InventoryReport"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="InventoryReport"> <soap:operation soapAction="urn:#NewOperation"/> <input name="InventoryReportRequest"> <soap:body use="literal"/> </input> <output name="InventoryReportResponse"> <soap:body use="literal"/> </output> </operation> </binding> <service name="GenerateReport_Service"> <documentation>WSDL File for HelloService</documentation> <port name="GenerateReport_Port" binding="tns:GenerateReport_Binding"> <soap:address location="http://localhost:8080/soap/servlet/rpcrouter"/> </port> </service> </definitions>

15

You might also like