ERP System and Enterprise Architecture
Transcription
ERP System and Enterprise Architecture
B CR Ca s pu t ut n Readings on Enterprise Resource Planning h en ts tm In ve s es Preliminary Version - send comments to pml@hec.ca nu DB CR /IR GR DB t p F-53 ay m en Po s R Ac c. Pa y. C In ve so nto ld ry pr ch od an uc ge t R co aw ns m um ate pt ria io l n 40 DB sa Do le m re es ve tic nu es DB at m Po M st IRO in vo ice CR Ra w CR /IR GR 6 40 t Go od sr ec ei p Po M s IG re t go O ce o ip ds ts In re dep qu e ire nd m en en t t 5 40 Pu r or cha de se r ERP System and Enterprise Architecture M pu Co E5 rc nv 9N ha er se t to or de r Ex M ec D ut 01 e M RP 30 5 C pr Con O15 od fi uc r m tio n CR DB en ts In ve st DB m Cr ea VL te 01 de N liv er y 41 CR 1 Ca sh 41 3 CR DB M pr od Re D0 l uc e a 7 tio se CR C CR R m Raw at er ia C l CR Fi pr nis h o DB d ed uc ts CR cc .R DB ec . DB CR ut P R Fa c pr tory od o uc ut tio p n CR Re ve nu 41 0 DB Ac c. Pa y. C o ro DB utp d. pr Ma CO od ss 4 uc re 1 tio lea n se or de r Fi pr nis od he uc d t o DB raw ns. DB In v ch en an tor ge y Pr od or uct de io r n DB DB PART 3 103 DB Kale - ERP System Architecture DB pr Ma CO od ss 4 uc re 1 tio lea n se or de r R DB M pr od Re D0 l uc e a 7 tio se C Pr od or uct de io r n DB CR Chapter Outline The relationship between the client and server is many to many i.e. a client can request services from many servers. A server can serve many clients. The actual computer or device that the client and server reside on is not critical to the discussion of architecture. The client and server are usually hosted on separate computers but they could be on the same computer. 1 41 CR DB Figure 1 - Client Server concept client network server Client and server processes are separate and autonomous even though the request is made by the client. The sharing of the processes between a client and a server is the basis for defining thin and fat clients (these correspond to fat and thin servers respectively). A thin client has minimal processing responsibilities, which implies that the corresponding fat server does the majority of processing. On the other hand, a fat client takes on a larger load of processing. The increase in inexpensive desktop processing has helped popularize fat clients. On the other hand, web based client/server architectures are pushing the thin client (sometimes mobile) paradigm. The client is often called the front-end or front-end application. The server is called the back-end application. The network provisions the transmission of data between clients and servers. A communications middleware it the software that orchestrates the communication over the network. The middleware plays an important role whereby client and server computers can run different operating systems, yet seamlessly channel requests and responses. 5 40 t 6 Go od sr ec ei p Po M st IRO in vo ice CR /IR 40 Po s R Ac c. Pa y. C Presentation Logic : The end user interacts with the presentation logic tier. t p F-53 ay m en DB The overall application logic that the client/server architecture is designed to support has several components that can be distributed across clients and servers. These components are: Presentation Logic, Processing Logic and Storage Logic (Fig 2). CR B CR Ca s pu t ut n nu es Preliminary Version - send comments to pml@hec.ca h In ve s Readings on Enterprise Resource Planning tm en ts DB GR /IR DB In ve so nto ld ry pr ch od an uc ge t R co aw ns m um ate pt ria io l n sa Do le m re es ve tic nu es DB In broad terms, a client is a process that makes service requests to a server. A server, therefore, is a process that responds with the requested service to a client (Figure 1). The third component of this architecture is the network. The network can provide communication to multiple servers that service multiple clients. 8.2 Components : Presentation, Processing, and Storage GR at CR m Ra w 8.1 What is Client/Server Architecture ? Po M s IG re t go O ce o ip ds ts In re dep qu e ire nd m en en t t Pu r or cha de se r M pu Co E5 rc nv 9N ha er se t to or de r Ex M ec D ut 01 e M RP Most current ERP systems utilize a relational database for the data layer in three-tier client/server architecture. The logic or processing layer is the second tier in such architecture. Herein lays the implementation of business logic, business processes, business rules, authentication and user management. The presentation layer forms the third tier. This is usually in the form of a user interface on a multitude of devices ranging from workstations to mobile devices. As users interact with the presentation layer, data is transmitted, read, written, deleted or updated in the data layer. The orchestration of the read/write/ update is done by the logic layer. In recent years, new technologies have developed that make ERP software less monolithic and more flexible. As the amount of data stored in the database and the number of sources of data increase, there is a need for efficient storage and retrieval of corporate data from a business intelligence perspective. Data warehouses have evolved to handle this explosive growth. Finally, advances in embedded and in-memory analytics are providing up to the minute business intelligence. 30 ERP systems are dependent on the consistent storage of large amounts of data: master and transactional data. An enterprise class relational database is used for this purpose. Examples of such databases are Oracle database, Microsoft SQL Server and IBM DB2. This data is processed by numerous programs within the ERP software and the results are presented to the end user through some user interface. The architecture that supports the connection between the database, processing, and presentation is called Client/Server architecture. 5 C pr Con O15 od fi uc r m tio n CR Cr ea VL te 01 de N liv er y In ve st DB m en ts 41 3 Ca sh This chapter introduces the system architecture that ERP systems are based upon. Understanding the system architecture in addition to ERP functionality (covered in other chapters) will provide a thorough understanding of ERP technology and how it benefits enterprises. 40 In v ch en DB an tor ge y CR Nitin Kale (University of Southern California) CR o DB raw ns. Fi pr nis od he uc d t Chapter 8 : ERP SYSTEM ARCHITECTURE m Raw at er ia C l CR Fi pr nis h o DB d ed uc ts CR P ut o ro DB utp d. R 41 0 Ac c. Pa y. C Fa c pr tory od o uc ut tio pu n t CR Re ve nu e DB ec . DB CR Ac c. R CHAPTER 8 104 DB DB R m Raw at er ia C l C Pr od or uct de io r n 41 1 Storage Logic : This component is responsible for handling data retrieval and storage (in the physical storage devices) requests from the processing logic component. The database management system (DBMS) is synonymous with storage logic. CR Ca sh CR o DB raw ns. CR DB CR DB 5 C pr Con O15 od fi uc r m tio n CR In ve st DB m Cr ea VL te 01 de N liv er y en ts Processing Logic : This component receives user input from the presentation logic component, validates the data, and applies 30 In v ch en DB an tor ge y 41 3 the majority of business rules. This will require communication with the storage logic to retrieve additional data. Business transactions are processed in this component. Results from the processing are written to the storage logic. DB Fi pr nis od he uc d t It is responsible for formatting the data, rendering the user interface, presenting the data and also accepting user input. These tasks are device dependent. Examples of devices include desktop computers, laptops, notebooks which all have a keyboard and mouse for input. Also included are mobile devices such as smart phones that have multi-touch screens which require different rendering and input logic compared to single touch screens. Figure 2 - Components to a Client Server System PRESENTATION LOGIC Processing Logic • User input M pr od Re D0 l uc e a 7 tio se pr Ma CO od ss 4 uc re 1 tio lea n se or de r CR P CR Fi pr nis h o DB d ed uc ts Kale - ERP System Architecture ut o ro DB utp d. R 41 0 Ac c. Pa y. C Fa c pr tory od o uc ut tio pu n t CR Re ve nu e DB ec . DB CR Ac c. R CHAPTER 8 Storage Logic • DBMS • Data Output • Business transactions and rues • Rendering the user interface • Communicating with storage logic • Data retrieval • Data storage • Read/write/update - Physical storage device • Managing and balancing load M pu Co E5 rc nv 9N ha er se t to or de r Ex M ec D ut 01 e M RP • Input/Output processing server. The processing logic server is separate from the storage logic server. Application partitioning is the process of writing programs that are distributed onto clients and servers as needed to maximize performance and data security. Partitioning the processing logic leads to two, three, and n-tier environments. 5 Po M s IG re t go O ce o ip ds ts In re dep qu e ire nd m en en t t Pu r or cha de se r It is important to note that the three logic components can be distributed across multiple tiers of an n-tier client/server system. In general, the presentation logic resides on the client. Storage logic resides on the server, which is usually a database server in close proximity to the data itself (physical storage). This leaves the processing logic to be placed on either the client or on the 40 8.3 N-Tier Approaches to C/S 6 40 OPTION 2 Po M st IRO in vo ice Client (fat) 40 • Presentation Logic • Processing Logic Po s CR B CR Ca s pu t ut n nu es Preliminary Version - send comments to pml@hec.ca h In ve s Readings on Enterprise Resource Planning tm en ts DB GR /IR DB • Storage Logic R • Storage Logic Server (thin) Ac c. Pa y. C • Processing Logic t p F-53 ay m en Server (fat) In ve so nto ld ry pr ch od an uc ge t R co aw ns m um ate pt ria io l n sa Do le m re es ve tic nu es DB • Presentation Logic CR Ra w m at Client (thin) DB GR OPTION 1 CR /IR Figure 3 - Option for Two-Tier C/S Architecture : Thin Client vs. Fat Client Go od sr ec ei p t Two-tier Client Server Architecture Three-tier 105 DB Kale - ERP System Architecture DB pr Ma CO od ss 4 uc re 1 tio lea n se or de r M pr od Re D0 l uc e a 7 tio se Pr od or uct de io r n CR C DB CR 1 • Processing Logic • Storage Logic • Application Server 30 5 C pr Con O15 od fi uc r m tio n • User Interface SERVER DB en ts CR In ve st DB m • Presentation Logic SERVER 41 Ca sh Three-tier Architecture CR In v ch en DB an tor ge y CR o DB raw ns. Figure 4 - Three-Tier C/S Architecture CLIENT 41 3 Cr ea VL te 01 de N liv er y R DB Fi pr nis od he uc d t Client Server Architecture m Raw at er ia C l CR Fi pr nis h o DB d ed uc ts CR P ut o ro DB utp d. R 41 0 Ac c. Pa y. C Fa c pr tory od o uc ut tio pu n t CR Re ve nu e DB ec . DB CR Ac c. R CHAPTER 8 • Database Server N-Tier Client Server Architecture Figure 5 - N-Tier C/S Architecture SERVER SERVER Pu r or cha de se r SERVER • Processing Logic • Processing Logic • User Interface • Web Server • Application Server 40 5 • Presentation Logic • Storage Logic • Database Server CR Po M st IRO in vo ice Ac c. Pa y. C Po s R CR B CR Ca s pu t ut n nu es Preliminary Version - send comments to pml@hec.ca h In ve s Readings on Enterprise Resource Planning tm en ts DB GR /IR DB In ve so nto ld ry pr ch od an uc ge t 40 The three-tier architecture is the main stay of ERP systems where thousands of end users may be accessing the application concurrently. Figure 6 shows a typical schematic of an ERP system. t p F-53 ay m en CR DB GR /IR A transaction processing monitor is used to monitor the load on an application server. Load balancing is thus achieved amongst several application servers as needed. R co aw ns m um ate pt ria io l n sa Do le m re es ve tic nu es DB Ra w m at As depicted in Figure 4, three-tier architecture has two server layers to manage the processing and storage logic. Generally, the processing logic resides on an application server that executes most application programs. The drive towards three and higher tiered architectures is driven by flexibility and scalability. By delineating the tiers, it is easier to swap out any one tier’s technology with a newer one without having to rewrite the code for the other tiers. Scalability is achieved by introduction of multiple application servers. 40 8.4 3-Tier C/S in ERP Systems 6 Go od sr ec ei p t Po M s IG re t go O ce o ip ds ts In re dep qu e ire nd m en en t t CLIENT M pu Co E5 rc nv 9N ha er se t to or de r Ex M ec D ut 01 e M RP N-tier Architecture 106 DB Kale - ERP System Architecture DB pr Ma CO od ss 4 uc re 1 tio lea n se or de r R m Raw at er ia C l CR Fi pr nis h o DB d ed uc ts CR P ut o ro DB utp d. R 41 0 Ac c. Pa y. C Fa c pr tory od o uc ut tio pu n t M pr od Re D0 l uc e a 7 tio se Pr od or uct de io r n CR C DB 1 41 CR DB 30 5 C pr Con O15 od fi uc r m tio n CR M pu Co E5 rc nv 9N ha er se t to or de r Each table of the database has rows of data for the configuration phase as well as the testing phase. They are identified by the client number field. The processing tier manages the database authorizations so that only rows with client number 100 will be seen by configuration personnel. 5 40 6 Go od sr ec ei p t The entire business logic resides in the application server. A dispatcher is the central control process. The dispatcher performs the following important tasks : • Together with the operating system, manages the resources for the ERP application. Po M st IRO in vo ice CR /IR GR • Evenly distributes the transaction load among the work processes. • Interfaces with the presentation level. • Manages the buffer areas in the main memory. Ac c. Pa y. C • Organizes all communication activities. Po s R • Places the client requests in request queues, and then processes them in order. CR B CR Ca s pu t ut n nu es Preliminary Version - send comments to pml@hec.ca h In ve s Readings on Enterprise Resource Planning tm en ts DB GR /IR DB CR m Ra w DB In ve so nto ld ry pr ch od an uc ge t R co aw ns m um ate pt ria io l n sa Do le m re es ve tic nu es 40 8.4.2 ERP Business Logic at Before an ERP system is put into production, it must be implemented, configured, tested, and then deployed. Keeping the data of each phase of the implementation cycle separate from the other phases would require the use of multiple databases. This is inefficient and unnecessarily complicated. An innovative way to utilize the same database for all phases of implementation is to use a field (sometimes called client number) in all tables, making it a part of the primary key. A primary key is a field (or set of fields) that uniquely identifies each row in a table. In this way the configuration phase can use rows with client number 100 and the testing phase can use rows with client number 200. Po M s IG re t go O ce o ip ds ts In re dep qu e ire nd m en en t t Pu r or cha de se r Most ERP systems use a relational database to store data about their customers, vendors, materials etc. in hundreds of tables. This data is called master data. As the ERP system is put into production, every transaction that is saved (committed) to the database will update one or more tables. This data is called transactional data. As you can surmise, master data changes slowly, whereas transactional data changes rapidly, growing by large amounts depending on the volume of business. DB 8.4.1 Database Tier for ERP Systems 40 Ex M ec D ut 01 e M RP Cr ea VL te 01 de N liv er y In ve st DB m en ts 41 3 Ca sh CR In v ch en DB an tor ge y CR o DB raw ns. DB Fi pr nis od he uc d t Figure 6 - ERP System Architecture t p F-53 ay m en CR Re ve nu e DB ec . DB CR Ac c. R CHAPTER 8 107 DB DB R Pr od or uct de io r n CR 41 1 Figure 7 and 8 show some sample UIs for ERP systems. DB Ca sh • Ensures proper lock management to maintain data integrity. en ts CR C DB CR In v ch en DB an tor ge y m Raw at er ia C l o DB raw ns. CR The client side user interface can be either a custom program or a web browser. Either way there is a rendering program that renders the appropriate look and feel of the UI on the client platform. Mobile apps have limited screen space so UIs have to be designed specifically for this limitation. • Distributes the pending requests to the appropriately defined work processes. 41 3 8.4.3 Presentation Tier DB Fi pr nis od he uc d t • Dispatches the requests to available work processes. A work process is specialized to process exactly one request type. M pr od Re D0 l uc e a 7 tio se pr Ma CO od ss 4 uc re 1 tio lea n se or de r CR P CR Fi pr nis h o DB d ed uc ts Kale - ERP System Architecture ut o ro DB utp d. R 41 0 Ac c. Pa y. C Fa c pr tory od o uc ut tio pu n t CR Re ve nu e DB ec . DB CR Ac c. R CHAPTER 8 Po M st IRO in vo ice CR DB 40 CR t p F-53 ay m en Po s CR B CR Ca s pu t ut n nu es Preliminary Version - send comments to pml@hec.ca h In ve s Readings on Enterprise Resource Planning tm en ts DB GR /IR DB In ve so nto ld ry pr ch od an uc ge t R Ac c. Pa y. C R co aw ns m um ate pt ria io l n sa Do le m re es ve tic nu es DB Ra w m at GR /IR 40 6 Go od sr ec ei p t Po M s IG re t go O ce o ip ds ts In re dep qu e ire nd m en en t t 40 5 Pu r or cha de se r M pu Co E5 rc nv 9N ha er se t to or de r 30 5 C pr Con O15 od fi uc r m tio n CR Ex M ec D ut 01 e M RP Cr ea VL te 01 de N liv er y In ve st DB m Figure 7 - SAP ECC Sales Order Transaction 108 DB Kale - ERP System Architecture DB pr Ma CO od ss 4 uc re 1 tio lea n se or de r R m Raw at er ia C l CR Fi pr nis h o DB d ed uc ts CR P ut o ro DB utp d. R 41 0 Ac c. Pa y. C Fa c pr tory od o uc ut tio pu n t CR Re ve nu e DB M pr od Re D0 l uc e a 7 tio se Pr od or uct de io r n CR C DB 1 41 CR DB Po M s IG re t go O ce o ip ds ts In re dep qu e ire nd m en en t t 40 5 Pu r or cha de se r M pu Co E5 rc nv 9N ha er se t to or de r 30 5 C pr Con O15 od fi uc r m tio n CR Ex M ec D ut 01 e M RP Cr ea VL te 01 de N liv er y In ve st DB m en ts 41 3 Ca sh CR 6 CR Po s CR B CR Ca s pu t ut n nu es Preliminary Version - send comments to pml@hec.ca h In ve s Readings on Enterprise Resource Planning tm en ts DB GR /IR DB In ve so nto ld ry pr ch od an uc ge t 40 Po M st IRO in vo ice • Asynchronous remote procedure call (RPC) : Client makes a request after establishing a point-to-point connection. Does not wait for response. R CR • Asynchronous : In asynchronous communication, the client sends a message (request) to the server but does not wait for a response. Examples are email and file transfer. Middleware examples : DB GR /IR Several types of middleware are available. Here are some important ones as classified by Hurwitz (Hurwitz, 1998) : Ac c. Pa y. C R co aw ns m um ate pt ria io l n sa Do le m re es ve tic nu es DB Ra w m at Applications need to connect and communicate to a source of data over a network. The mechanism for orchestrating this is called database connectivity. The data source is generally a relational database; however it could be any other form of data, such as a text file. Middleware is the glue that binds all client server applications. Interoperability is the reason why middleware exists. One or more middleware solutions are used within n-tiered client server applications to facilitate this interoperability amongst dissimilar operating systems and components. Go od sr ec ei p t 8.5 Database Connectivity and Middleware – ODBC, JDBC 40 In v ch en DB an tor ge y CR o DB raw ns. DB Fi pr nis od he uc d t Figure 8 - Microsoft Dynamics CRM t p F-53 ay m en ec . DB CR Ac c. R CHAPTER 8 109 DB DB R m Raw at er ia C l C Pr od or uct de io r n 1 41 CR • SQL-oriented data access : Middleware that translates generic SQL requests into the database specific SQL. • Synchronous RPC : Synchronous version of RPC 5 C pr Con O15 od fi uc r m tio n CR • Object request brokers (ORB) : Object-oriented sending and receiving of information. 30 en ts In ve st DB m DB Ca sh • Synchronous : Synchronous communication is used when a response is required by the client (in real time). Examples are chat and audio/video communications. Middleware examples : 41 3 CR o DB raw ns. CR DB CR In v ch en DB an tor ge y • Message-oriented middleware (MOM) : Uses queues to store requests from clients, especially those that require multiple processing steps. Cr ea VL te 01 de N liv er y From an ERP perspective, middleware is important because it allows data integration and application integration between one database and another. Application Programming Interface (API) is used to support interaction between two applications (or programs). The API is a set of routines, structures, classes and protocols provided by libraries and operating systems to simplify the creation of software applications. Think of it as building blocks that a programmer can put together to build applications. Database oriented middleware usually provides an API to access the database. An example of an API is Google Maps APIs. This gives developers several ways of including Google maps within their web pages either for simple use or with extensive customization. Several APIs are available : Google Maps API for Flash, Google Maps API for JavaScript etc. A developer could use the Google Maps AI for Flash to create an interactive map that shows buildings, departments, residences, services etc. on a campus map as seen in Figure 9 (Notre Dame Map, 2011). DB Fi pr nis od he uc d t • Publish/subscribe : Middleware that pushes information that subscribers have subscribed to. M pr od Re D0 l uc e a 7 tio se pr Ma CO od ss 4 uc re 1 tio lea n se or de r CR P CR Fi pr nis h o DB d ed uc ts Kale - ERP System Architecture ut o ro DB utp d. R 41 0 Ac c. Pa y. C Fa c pr tory od o uc ut tio pu n t CR Re ve nu e DB ec . DB CR Ac c. R CHAPTER 8 Po M st IRO in vo ice CR DB 40 CR t p F-53 ay m en Po s CR B CR Ca s pu t ut n nu es Preliminary Version - send comments to pml@hec.ca h In ve s Readings on Enterprise Resource Planning tm en ts DB GR /IR DB In ve so nto ld ry pr ch od an uc ge t R Ac c. Pa y. C R co aw ns m um ate pt ria io l n sa Do le m re es ve tic nu es DB Ra w m at GR /IR 40 6 Go od sr ec ei p t Po M s IG re t go O ce o ip ds ts In re dep qu e ire nd m en en t t 40 5 Pu r or cha de se r M pu Co E5 rc nv 9N ha er se t to or de r Ex M ec D ut 01 e M RP Figure 9 - Google Maps API in Action 110 DB R m Raw at er ia C l o DB raw ns. Open Database Connectivity (OBDC) is an interface for accessing databases (both relational and non-relational). Similar to an API, it provides abstraction from operating system, database and programming language. ODBC drivers are used to translate the middleware commands into the DBMS specific commands. Changes in the database specification only require an update to the driver (ODBC - Open Database Connectivity Overview, 2010). 1 41 CR DB 5 C pr Con O15 od fi uc r m tio n Java Database Connectivity (JDBC) is similar to ODBC. It is an API for the Java programming language (not language independent like ODBC) that allows any client program to access a database. Java applets can harness a JDBC driver (called adapter) to communicate with a relational database. It has gained popularity because Java is a network oriented language. Figure 10 shows how a web-enabled ERP architecture may look. 30 Ca sh In ve st DB m Cr ea VL te 01 de N liv er y CR en ts 41 3 8.5.2 JDBC CR Pr od or uct de io r n DB C CR So far we have mostly discussed client server architectures for enterprises distributed over a local area network (LAN). However, since the early 1990s, the web browser is displacing specialized client user interfaces. The ubiquitous availability of browsers for desktop and mobile devices is driving this displacement. The time and cost of web development has gone down significantly. ERP vendors have responded with user interfaces that integrate the browser into their presentation logic layer. This poses some new challenges and opportunities. CR In v ch en DB an tor ge y 8.6 Web Based ERP Applications DB Fi pr nis od he uc d t 8.5.1 ODBC M pr od Re D0 l uc e a 7 tio se pr Ma CO od ss 4 uc re 1 tio lea n se or de r DB CR P CR Fi pr nis h o DB d ed uc ts Kale - ERP System Architecture ut o ro DB utp d. R 41 0 Ac c. Pa y. C Fa c pr tory od o uc ut tio pu n t CR Re ve nu e DB ec . DB CR Ac c. R CHAPTER 8 Po M st IRO in vo ice R Ac c. Pa y. C 40 t p F-53 ay m en DB CR B CR Ca s pu t ut n nu es Preliminary Version - send comments to pml@hec.ca h In ve s Readings on Enterprise Resource Planning tm en ts DB GR /IR DB In ve so nto ld ry pr ch od an uc ge t Po s CR The web server requires additional security, which is why the enterprise intranet is behind a firewall. In addition, a proxy server can be added to serve frequently requested pages (which are cached) without having to add load to the web server. R co aw ns m um ate pt ria io l n sa Do le m re es ve tic nu es DB Ra w m at The main difference between a web-enabled and a non web-enabled architecture is the inclusion of a web server. If a client requests a static web page (html), it will be served by the web server and displayed in the client browser. If the client request requires data retrieval from the database, the web server will use the processing logic to create a query, which will be sent to the database server. The results will be formatted for presentation and returned to the client. CR GR /IR 40 6 Go od sr ec ei p t Po M s IG re t go O ce o ip ds ts In re dep qu e ire nd m en en t t 40 5 Pu r or cha de se r M pu Co E5 rc nv 9N ha er se t to or de r Ex M ec D ut 01 e M RP Figure 10 - Web-Enabled ERP Architecture 111 DB DB R m Raw at er ia C l C Pr od or uct de io r n DB 1 41 CR • Simple object access protocol (SOAP) • Privacy and confidentiality breach : As users, enterprises, banks, and governments put personal and financial data on databases, there is a greater threat of loss of privacy and confidentiality. A breach in security can lead to theft, fraud, blackmail, financial hardship, and even national security risks. Using Web services, one can convert an application into a Web application which can then be shared and consumed by others. The repository of Web services can be found at the Universal description, discovery, and integration (UDDI) business registration. An example of a Web service would be Amazon fulfillment Web service, which allows merchants to send orders to Amazon.com with instructions to fulfill customer orders on their behalf. • Human error : Accidental compromise or loss of data by humans is possible and not uncommon. • Software bugs : Software is very complex and communicates with other software. This multiplies the probability of unforeseen bugs that can introduce unexpected and potentially damaging errors. There are two major advantages to Web services : M pu Co E5 rc nv 9N ha er se t to or de r Ex M ec D ut 01 e M RP 5 C pr Con O15 od fi uc r m tio n • Web services description language (WSDL) 30 en ts • Compromise of data integrity : At the core of a database is the integrity of data, which must be guaranteed at all times. A loss of this integrity can cause costly errors unless there is a backup and recovery plan. CR In ve st DB m • Loss of system/services availability : Computer viruses, worms, and sabotage can all cause unplanned system downtime. Corporations and customers cannot afford system unavailability. DB Ca sh CR 41 3 Cr ea VL te 01 de N liv er y CR o DB raw ns. CR As the web takes center stage in ERP systems, the concept of loosely coupled yet interoperable application components has gained momentum. Web services are a set of protocols to support computer to computer interaction over the web through the use of XML and HTTP. XML stands for Extensible Markup Language. It is a markup language similar to html but with different goals. It is used to structure, store and transport data. The tags in XML are wrappers for data. The sender and receiver must have software to send, receive, and process the XML file. Many languages have been developed using XML. • Interoperability : Allows applications to exchange data easily • Reusability : Web service can be consumed as needed without the need to rewrite code In re dep qu e ire nd m en en t t Security is not a single task that can fix threats and attempts. It is a multilevel, multipronged approach to securing all components in an ERP environment. Po M s IG re t go O ce o ip ds ts We have discussed APIs as a way to facilitate interoperability. SOA provides a suite of services that can be consumed by other applications in a loosely coupled environment. Although SOA is often enabled using web services, it is not mandatory to do so. The benefit of the SOA approach to enterprise systems is that businesses can be more agile. They can respond quickly to changing market conditions by reducing the time to develop applications. Chapter 10 will discuss SOA in more detail. t 40 6 Go od sr ec ei p /IR Po s t p F-53 ay m en 40 Po M st IRO in vo ice R Ac c. Pa y. C DB CR • Authorization rules : Authorization rules restrict who can access what type of data, and what actions they can take on that data. They can also be applied at the application or operating system levels. Data administrators are responsible for creating and implementing these rules. They must also ensure that the rules are reevaluated from time to time to ensure their continued relevancy and efficacy. CR B CR Ca s pu t ut n nu es Preliminary Version - send comments to pml@hec.ca h In ve s Readings on Enterprise Resource Planning tm en ts DB GR /IR In ve so nto ld ry pr ch od an uc ge t R co aw ns m um ate pt ria io l n sa Do le m re es ve tic nu es DB Cyber-security has emerged as a major concern in the client server model of ERP application development and deployment. Most applications we use today are based on this model, which can pose serious risk to security if not properly addressed. Data has to be secured from both accidental and intentional threats. Web based access to data, often through mobile devices, has made securing such systems more difficult. • Database security : All servers within the ERP system must be protected against intrusion, but the most critical is the database server. The physical server and data must be properly secured with access limited to a very high level of authorized personnel. Server and administrator passwords provide key defenses against attacks. DB GR Ra w m at 8.7 ERP Security 40 8.6.2 Service Oriented Architecture (SOA) 5 Pu r or cha de se r • Hardware failure : Although not avoidable, hardware failure does occur. Server administrators must have comprehensive backup and recovery procedures in place. CR In v ch en DB an tor ge y There are several targets for data security threats – the database, the network, the operating system (on both the client and server side), physical hardware, physical buildings, and users. Security threats could lead to the following potential crises in an enterprise : DB Fi pr nis od he uc d t 8.6.1 Web Services M pr od Re D0 l uc e a 7 tio se pr Ma CO od ss 4 uc re 1 tio lea n se or de r CR P CR Fi pr nis h o DB d ed uc ts Kale - ERP System Architecture ut o ro DB utp d. R 41 0 Ac c. Pa y. C Fa c pr tory od o uc ut tio pu n t CR Re ve nu e DB ec . DB CR Ac c. R CHAPTER 8 112 DB Kale - ERP System Architecture DB specific type (read, write, update, delete) of access to the authorization object. The authorization object belongs to an object class. See Figure 11 to see the matrix of an authorization table for a user ERP100 named John. Pr od or uct de io r n CR C DB CR In v ch en DB an tor ge y CR o DB raw ns. DB Fi pr nis od he uc d t An authorization table is maintained using users, their profiles, their authorizations, the objects, and classes of objects. Each profile can have many profiles. Each profile is assigned multiple authorizations. The authorizations allow M pr od Re D0 l uc e a 7 tio se pr Ma CO od ss 4 uc re 1 tio lea n se or de r R m Raw at er ia C l CR Fi pr nis h o DB d ed uc ts CR P ut o ro DB utp d. R 41 0 Ac c. Pa y. C Fa c pr tory od o uc ut tio pu n t CR Re ve nu e DB ec . DB CR Ac c. R CHAPTER 8 1 41 CR ERP OBJECT CLASS 5 DB Write ERP AUTHORIZATION OBJECT 30 ERP PROFILE ERP AUTHORIZATION C pr Con O15 od fi uc r m tio n ERP USER CR In ve st DB m Cr ea VL te 01 de N liv er y en ts 41 3 Ca sh Figure 11 - Authorization Rule Matrix Authorization for US Warehouse Manager Materials Management Read Authorization for CA ERP100 - John Update Sales Representant No Authorization for MX M pu Co E5 rc nv 9N ha er se t to or de r Ex M ec D ut 01 e M RP Delete • Authentication : Once a user has been assigned the appropriate authorization rule using the matrix above, he/she is assigned authentication to access the ERP system. There are three methods of authentication. One can also enforce a combination where two modes of authentication are required for high security access. -User biometrics : Fingerprint or retinal scan 6 40 /IR Po s t p F-53 ay m en 40 Po M st IRO in vo ice R CR B CR Ca s pu t ut n nu es Preliminary Version - send comments to pml@hec.ca h In ve s Readings on Enterprise Resource Planning tm en ts DB GR /IR DB In ve so nto ld ry pr ch od an uc ge t DB GR CR • Encryption : Sensitive information such as personal information, financial information, social security numbers, credit card numbers, and other account numbers must be protected by encrypting them even if they are stolen from the database or during transmission. Encryption scrambles • Web security and privacy : ERP systems now have web access as the presentation logic. In the past, many ERP systems used customized client side user interfaces to avoid some web related vulnerabilities. But as web access has become the de facto standard, extra security measures have to be taken. The Web Server is usually protected behind a firewall. In addition, encryption can be used to encrypt all data that travels between the client and the server. Web servers should have the lowest possible number of ports open for communication. Ac c. Pa y. C DB Ra w m at Passwords need to be strong enough so as not to be guessed by a computer (before being locked out by the system defense). Basic guidelines for passwords are : at least 8 characters long, include alphanumeric and non-alphanumeric characters, should not be dictionary words, and should be changed periodically. Go od sr ec ei p t -User possession : Magnetic card or similar R co aw ns m um ate pt ria io l n 40 Po M s IG re t go O ce o ip ds ts • Network security : The network that connects the components of an ERP system must be secured as well. Routers can be monitored to identify attacks from specific clients. They can be configured to restrict access by client IP addresses, country and regions. -User supplied authentication : Password sa Do le m re es ve tic nu es 5 Pu r or cha de se r the data in such a way that humans cannot decrypt them, at least not without using supercomputers that would take days or months. A common encryption available is called Secure Socket Layer (SSL). The 128-bit version provides extreme high security by using a public and private key for locking and unlocking the encryption. CR In re dep qu e ire nd m en en t t Sales and Distribution 113 DB DB R Pr od or uct de io r n 1 41 30 5 C pr Con O15 od fi uc r m tio n 8.9 New Directions In the past few years, some new developments have taken place in Enterprise Information Systems. Although the Client/Server architecture is same, the implementation and consumption of these services is seeing disruptive innovation. These types of innovations fundamentally improve upon a service or product in unexpected ways by providing a significantly lower cost of ownership, or by identifying a new customer base. Enterprise software companies and IT professionals have to be extremely vigilant of disruptive innovation because it can cause sudden shifts in their customer base and profitability. Ultimately their survival in the market will depend upon how rapidly they can adapt to change. 8.8 Data Warehouses and Business Intelligence A transactional system such as an ERP generates enormous amount of data on a daily basis. To keep the database size manageable, older data is archived periodically. What if you wanted to know the buying history of a customer for the past 10 years? Or the average price of a raw material for the past 5 years? You would need the entire data history of all master data and transactional data of your company. In addition to the data you already have, you may want to access data from data providers such as the stock market or demographic information. The challenge, therefore, is to collect and store data from multiple sources into one coherent structure based on which business analytics can be performed. M pu Co E5 rc nv 9N ha er se t to or de r Ex M ec D ut 01 e M RP m Raw at er ia C l C CR Ca sh DB CR In ve st DB m en ts 41 3 CR o DB raw ns. CR DB CR 5 40 t 40 6 Go od sr ec ei p /IR Po s t p F-53 ay m en 40 Po M st IRO in vo ice CR B CR Ca s pu t ut n nu es Preliminary Version - send comments to pml@hec.ca h In ve s Readings on Enterprise Resource Planning tm en ts DB GR /IR DB In ve so nto ld ry pr ch od an uc ge t R CR CR Ac c. Pa y. C R co aw ns m um ate pt ria io l n sa Do le m re es ve tic nu es DB Ra w m at Business Intelligence for ERP is the user-centered process of exploring data, data relationships and trends - thereby helping to improve overall decision making for enterprises. This involves an iterative process of accessing data (usually stored in the enterprise data warehouse) and analyzing it, thereby deriving insight, drawing conclusions, and communicating results to authorized users. The ERP world, although stable and generally slow changing, is susceptible to disruptive innovation as well. Several new technology and business ideas are changing the traditional landscape of in-house ERP systems, which require huge investments in IT infrastructure and personnel. In addition to the cost of acquiring and maintaining hardware, software, and networking for ERP systems, there is also the tremendous cost of hiring, training, and keeping IT professionals to run such systems. GR Enterprise Data Warehouses aim at physically framing multiple sources of data (e.g., databases and other) in an architecture that requires the mapping of data from one or more operational data sources to a target database management system (DBMS) that supports the many decision making processes and business intelligence (BI) systems of an enterprise. (Inmon, 2005) Po M s IG re t go O ce o ip ds ts In re dep qu e ire nd m en en t t Pu r or cha de se r A highly visible example of disruptive innovation is Netflix. Netflix revolutionized the video rental business a few years ago. It severely disrupted the traditional business model used by neighborhood brick and mortar stores such as Blockbuster for years. Netflix’s monthly subscription model allows customers to order movies through a website, have them delivered to their homes and to keep movies for as long as they wish. As network bandwidth increased, Netflix added free streaming video service for their customers. This on-demand streaming video is another disruptive technology used by Netflix. Both the disruptive business innovation and disruptive technology innovation have left the competition playing catch up. DB In v ch en DB an tor ge y • Personnel security : Organizations routinely have controls in place to keep personnel from conducting fraud or sabotage. This applies to ERP system users as well. Apart from training users on security issues, it is also important to separate duties so that there is no conflict of interest and no single employee has full control over a process or system. Procedures for dismissal also have to include de-authorization from the ERP system. Data privacy controls have to be in place to prevent unauthorized people within a company from viewing information about others. In the health care industry this is critical, and is regulated by state and national laws. Cr ea VL te 01 de N liv er y The database underlying the data warehouse is generally separate from the transactional database that supports the ERP. Data in the data warehouse is periodically extracted, transformed, and loaded from several data sources. Once in the data warehouse, the data is read-only from an end user perspective. A star schema is used to model a multidimensional cube where dimensional tables contain master data, and a fact table contains transactional data. Online analytical processing (OLAP) is a set of tools to slice, dice, and drill down into this cube to gain insight. You will learn more about data warehouses and business intelligence in Chapter 16. DB Fi pr nis od he uc d t Open ports are vulnerable to attack. Client side privacy cannot be ensured because websites often leave cookies for tracking purposes. These cookies can be used by other websites without the user’s knowledge. Individuals have to be vigilant in protecting their privacy. M pr od Re D0 l uc e a 7 tio se pr Ma CO od ss 4 uc re 1 tio lea n se or de r CR P CR Fi pr nis h o DB d ed uc ts Kale - ERP System Architecture ut o ro DB utp d. R 41 0 Ac c. Pa y. C Fa c pr tory od o uc ut tio pu n t CR Re ve nu e DB ec . DB CR Ac c. R CHAPTER 8 114 DB R m Raw at er ia C l Changes in software versions, operating systems, and DBMS versions require expensive upgrades and time commitment. In today’s rapidly changing global economic environment, companies need to be more agile, requiring such changes to be quick and painless. In response to this need, cloud based solutions are emerging to capture a share of the ERP market. DB Fi pr nis od he uc d t 2.Little or no IT infrastructure needed. Pr od or uct de io r n 41 1 5.A-la-carte model allows clients to pick and choose functionality as needed by business growth. CR 6.High reliability. DB 7.Access to expertise from solution provider. C pr Con O15 od fi uc r m tio n CR 8.Higher security, particularly for small businesses that do not have adequate in-house expertise. 5 Cr ea VL te 01 de N liv er y In ve st DB m en ts Should I buy a house or should I rent an apartment? The answer depends on many variables, and both options have pros and cons. A similar option has emerged in the ERP world where Software can be rented on-demand. Instead of making huge initial investments in IT infrastructure, a business simply subscribes to the software on a pay-as-you-go model. A monthly fee per user is assessed by the software provider. The software and its accompanying technology stack are hosted in the cloud. The business accesses this service over the Internet with little involvement in the maintenance and upgrade of the technology underneath the service. 30 41 3 Ca sh 8.9.1 Software as a Service (SaaS) CR C DB 4.Pay-as-you-go subscription model reduces risk of IT costs when business slows down. Low commitment. CR In v ch en DB an tor ge y CR o DB raw ns. 3.No upfront cost of system (servers and software) ownership. Low total cost of ownership (TCO). M pr od Re D0 l uc e a 7 tio se pr Ma CO od ss 4 uc re 1 tio lea n se or de r DB CR P CR Fi pr nis h o DB d ed uc ts Kale - ERP System Architecture ut o ro DB utp d. R 41 0 Ac c. Pa y. C Fa c pr tory od o uc ut tio pu n t CR Re ve nu e DB ec . DB CR Ac c. R CHAPTER 8 9.Access from anywhere, at anytime. 10. Scalability. There are certain disadvantages to SaaS : 1. Businesses have to trust SaaS vendor to provide security, privacy, and confidentiality of corporate data. 2. Low control over customizing SaaS software to fit business needs. Here are some important advantages to SaaS : 5. Future of business data after termination of contract or end of SaaS vendor. 3. SaaS for vertical market is still relatively rare. 4. Subscription costs can add up quickly especially in per-user model of payment. M pu Co E5 rc nv 9N ha er se t to or de r Ex M ec D ut 01 e M RP Several disrupters have emerged in this SaaS market. Free services include Google Docs, Google Apps, Google Sites and Gmail. Paid service examples are NetSuite for ERP, Salesforce.com for CRM, Oracle CRM, SAP Business ByDesign (Figure 12), Rackspace for IT hosting etc. 40 5 Pu r or cha de se r 1.Short implementation time. Po M st IRO in vo ice CR DB 40 CR t p F-53 ay m en Po s CR B CR Ca s pu t ut n nu es Preliminary Version - send comments to pml@hec.ca h In ve s Readings on Enterprise Resource Planning tm en ts DB GR /IR DB In ve so nto ld ry pr ch od an uc ge t R Ac c. Pa y. C R co aw ns m um ate pt ria io l n sa Do le m re es ve tic nu es DB Ra w m at GR /IR 40 6 Go od sr ec ei p t Po M s IG re t go O ce o ip ds ts In re dep qu e ire nd m en en t t Figure 12 - SAP Business By Design On-Demand ERP Solution and Salesforce.com CRM Solution 115 DB Kale - ERP System Architecture DB pr Ma CO od ss 4 uc re 1 tio lea n se or de r M pr od Re D0 l uc e a 7 tio se Pr od or uct de io r n CR C DB 1 41 CR DB M pu Co E5 rc nv 9N ha er se t to or de r 30 5 C pr Con O15 od fi uc r m tio n CR Ex M ec D ut 01 e M RP Upon making connection with the ERP system, the Sales Order is updated in the database. Additional details can be added at a later time either by the sales rep or other personnel. Po M s IG re t go O ce o ip ds ts 40 Other areas of mobile app development are work lists, business communications, collaboration, analytics, approvals, travel and reimbursement management, and mobile offices. In re dep qu e ire nd m en en t t Po M st IRO in vo ice GR /IR 40 6 Go od sr ec ei p t Mobile apps for ERP (Figure 13) have several advantages – increased productivity, convenience, lowering lead to deal time, quick access to customer information for making informed decisions, reduction in waiting time for approvals, increased profitability, and better customer service. 40 CR t p F-53 ay m en Po s CR B CR Ca s pu t ut n nu es Preliminary Version - send comments to pml@hec.ca h In ve s Readings on Enterprise Resource Planning tm en ts DB GR /IR DB In ve so nto ld ry pr ch od an uc ge t R Ac c. Pa y. C R co aw ns m um ate pt ria io l n sa Do le m re es ve tic nu es DB Ra w m at A simple task like entering a Sales Order or potential lead can be entered into a mobile app at a client site. Many apps now have online (wireless connection to ERP backend) or offline (out of wireless range or no connection to ERP backend) modes whereby a sales representative can enter a Sales Orders without concern for wireless access. 5 Pu r or cha de se r To add to Tom Friedman’s famous book (Friedman, 2005), the world is not only flat, it is also going wireless!, Business, communications, and entertainment are going increasingly more mobile. There will be nearly one mobile device per capita by 2015 (Deans, 2011). As mobile devices gain more popularity and capability, business users will rely on them more to do business activities that were traditionally relegated to the office. The explosion of apps for such devices is now providing mobile interfaces for ERP systems. CR 8.9.2 Mobile Applications for ERP DB Cr ea VL te 01 de N liv er y In ve st DB m en ts 41 3 Ca sh CR In v ch en DB an tor ge y CR o DB raw ns. DB Fi pr nis od he uc d t R m Raw at er ia C l CR Fi pr nis h o DB d ed uc ts CR P ut o ro DB utp d. R 41 0 Ac c. Pa y. C Fa c pr tory od o uc ut tio pu n t CR Re ve nu e DB ec . DB CR Ac c. R CHAPTER 8 116 DB Kale - ERP System Architecture DB pr Ma CO od ss 4 uc re 1 tio lea n se or de r R m Raw at er ia C l CR Fi pr nis h o DB d ed uc ts CR P ut o ro DB utp d. R 41 0 Ac c. Pa y. C Fa c pr tory od o uc ut tio pu n t CR Re ve nu e DB 1 41 CR DB Ca sh 5 30 M pu Co E5 rc nv 9N ha er se t to or de r Ex M ec D ut 01 e M RP C pr Con O15 od fi uc r m tio n In ve st DB m en ts 41 3 Cr ea VL te 01 de N liv er y CR 8.9.3 In-Memory Analytics Pu r or cha de se r Figure 14 shows how a mobile app integrates within an ERP framework. 5 40 Figure 14 - Mobile Apps in ERP The standard process that businesses utilize for analytics consists of business intelligence tools that query a data warehouse. This data warehouse is a historical repository of transactional data from one or multiple sources. The data has been cleansed, transformed, and mapped to provide a single source of truth, which is critical for business intelligence. A multidimensional model is used model a cube that stores the vast amount of data that can be sliced and diced by a variety of tools. Many techniques are used to optimize the manipulation of this cube for fast data access. However, as data warehouses grow in size to several peta bytes, there is greater demand for fast access and easy analysis. Cubes require significant expertise to model, maintain, and optimize. Po M s IG re t go O ce o ip ds ts Mobile Device - Presentation Layer 6 Go od sr ec ei p t Presentation Logic Layer - Application Provisioning CR Po M st IRO in vo ice CR Ac c. Pa y. C R co aw ns m um ate pt ria io l n Application Logic Layer A new development in increasing analytics performance is in-memory analytics. The main innovation is that data is stored in memory (RAM) instead of in database tables. Data is stored in a much simpler format. Table joins are made as needed for querying. This greatly improves performance through faster data retrieval, calculations, and querying. Po s CR B CR Ca s pu t ut n nu es Preliminary Version - send comments to pml@hec.ca h In ve s Readings on Enterprise Resource Planning tm en ts DB GR /IR DB In ve so nto ld ry pr ch od an uc ge t R Storage Layer 40 sa Do le m re es ve tic nu es DB Ra w m at Web Services Layer - HTTP(S) DB GR /IR 40 In re dep qu e ire nd m en en t t M pr od Re D0 l uc e a 7 tio se Pr od or uct de io r n CR C DB CR In v ch en DB an tor ge y CR o DB raw ns. DB Fi pr nis od he uc d t Figure 13 - iPhone and iPad Apps for ERP CRM t p F-53 ay m en ec . DB CR Ac c. R CHAPTER 8 117 DB Kale - ERP System Architecture DB pr Ma CO od ss 4 uc re 1 tio lea n se or de r R M pr od Re D0 l uc e a 7 tio se DB CR In v ch en DB an tor ge y Deans, D. (2011). Visualizing Global Mobile Data Traffic Growth. Retrieved from http ://blogs.cisco.com/featured/visualizing-global-mobile-data-traffic-growth/ Friedman, T. (2005). The World is Flat. New York, United States of America : Farrar, Strauss and Giroux. Pr od or uct de io r n CR C CR o DB raw ns. DB Fi pr nis od he uc d t References m Raw at er ia C l CR Fi pr nis h o DB d ed uc ts CR P ut o ro DB utp d. R 41 0 Ac c. Pa y. C Fa c pr tory od o uc ut tio pu n t CR Re ve nu e DB ec . DB CR Ac c. R CHAPTER 8 1 41 CR 41 3 Ca sh Hurwitz, J. (1998). Sorting Out Middleware. Retrieved from http ://web.archive.org/web/20061017153344/http ://www.dbmsmag.com/9801d04.html DB ODBC - Open Database Connectivity Overview. (2010). Retrieved from http ://support.microsoft.com/kb/110093 30 C pr Con O15 od fi uc r m tio n CR Cr ea VL te 01 de N liv er y Notre Dame Map (2011). Campus Map. Retrieved from http ://map.nd.edu/#/placemarks/1028/zoom/16/lat/41.69826290628501/lon/-86.23395323753357 5 In ve st DB m en ts Inmon, W. H. (2005). Building the Data Warehouse. Indianapolis, Indiana, United States of America : Wiley. Scheer, A.-W., Abolhassan, F., Jost, W., and Kirchmer, M. (2011). Business Process Automation : ARIS in Practice. Saarbrucken, Germany : Springer. Further Readings M pu Co E5 rc nv 9N ha er se t to or de r Ex M ec D ut 01 e M RP Bradford, M. (2010). Modern ERP Select, Implement & Use Today’s Advanced Business Systems, Cary, North Carolina, United States of America. Retrieved from : lulu.com A Leading Research and Consulting IT Company. Extensive Repository of Research Papers and Case Studies. Retrieved from http ://www.gartner.com/technology/home.jsp. Subscription required. 40 Po M st IRO in vo ice CR DB 40 CR t p F-53 ay m en Po s CR B CR Ca s pu t ut n nu es Preliminary Version - send comments to pml@hec.ca h In ve s Readings on Enterprise Resource Planning tm en ts DB GR /IR DB In ve so nto ld ry pr ch od an uc ge t R Ac c. Pa y. C R co aw ns m um ate pt ria io l n sa Do le m re es ve tic nu es DB Ra w m at GR /IR 40 6 Go od sr ec ei p t Po M s IG re t go O ce o ip ds ts In re dep qu e ire nd m en en t t SAP. 2011. Advances in In-memory Computing. Retrieved from http ://www.sap.com/platform/in-memory-computing/index.epx 5 Pu r or cha de se r Langenkamp, J. (2011). Magazine and Website Related to Information Management. Retrieved from http ://www.information-management.com/ 118 DB Kale - ERP System Architecture DB pr Ma CO od ss 4 uc re 1 tio lea n se or de r 1 41 CR C pr Con O15 od fi uc r m tio n CR In ve st DB m 5 3.More and more people are using mobile apps for communication and business. Discuss some solutions for apps to continue working when the device is offline. (Hint : HTML5) 30 Cr ea VL te 01 de N liv er y DB Ca sh 2.Contact a system architect for an enterprise that uses an ERP system. Research and draw a schematic of the client server architecture of that enterprise. Identify the three (or more) tiers of that architecture. List and explain the hardware and software choices that were made in that particular implementation. en ts 41 3 CR Pr od or uct de io r n 1.Research and draw a schematic of the client server architecture of your university’s information system(s). Identify the three (or more) tiers of that architecture. List the hardware and software choices that were made in that particular implementation. M pr od Re D0 l uc e a 7 tio se C CR o DB raw ns. CR DB In v ch en DB an tor ge y Questions DB Fi pr nis od he uc d t R m Raw at er ia C l CR Fi pr nis h o DB d ed uc ts CR P ut o ro DB utp d. R 41 0 Ac c. Pa y. C Fa c pr tory od o uc ut tio pu n t CR Re ve nu e DB ec . DB CR Ac c. R CHAPTER 8 4.Cloud computing and cloud services are the buzz words these days. Explore the service from Amazon called Cloud Drive for buying, storing, and playing music. Also explore the CRM solution from salesforce.com. Discuss the advantages and disadvantages of each of these services in light of personal and organizational needs. Po M st IRO in vo ice CR DB 40 CR t p F-53 ay m en Po s CR B CR Ca s pu t ut n nu es Preliminary Version - send comments to pml@hec.ca h In ve s Readings on Enterprise Resource Planning tm en ts DB GR /IR DB In ve so nto ld ry pr ch od an uc ge t R Ac c. Pa y. C R co aw ns m um ate pt ria io l n sa Do le m re es ve tic nu es DB Ra w m at GR /IR 40 6 Go od sr ec ei p t Po M s IG re t go O ce o ip ds ts In re dep qu e ire nd m en en t t 40 5 Pu r or cha de se r M pu Co E5 rc nv 9N ha er se t to or de r Ex M ec D ut 01 e M RP 5.Why is in-memory analytics faster than on-disk analytics ? How is data persistency achieved in an in-memory database ? What are the differences and similarities between an in-memory database and an on-disk database ? 119