Computer applications in the modern enterprise Επιχειρησιακές Εφαρμογές Η/Υ Lectures 4 and 5: Enterprise Key Technologies Univ. of the Aegean Financial and Management Engineering Dpt Petros KAVASSALIS <pkavassalis@atlantis-group.gr> 1 What you will learn in this course A set of fundamental concepts and frameworks for understanding the potential impact of information technology (IT) on business strategy and structure Computers and Information Systems (IS) The business value chain Business integration through Enterprise Application Integration Information Systems in practice: How does the modern enterprise use “Business Intelligence” (BI) systems to improve decision-making Methods and BI examples “Hands-on” experience: create business reports by using Eclpise BIRT Reporting Tool (http://www.eclipse.org/birt/phoenix/) <pkavassalis@atlantis-group.gr> 2 Communication tools e-mail: pkavassalis@atlantis-group.gr Course web site: see FME web site <pkavassalis@atlantis-group.gr> 3 Students evaluation Class Participation (20%) + Assignments (20%) + Final Exam (60%) <pkavassalis@atlantis-group.gr> 4 What I am going to say Within the modern enterprise Inter-organizational relationships Intra-organizational relationships are supported by Information Technologies It is about enterprise applications that inter-operate to move information around Not only within existing business frontiers but also within the network of the collaborators and customers of an enterprise Not randomly but in an organized way, within the enterprise architecture framework <pkavassalis@atlantis-group.gr> 5 Enterprise architecture [I will come back later on] <pkavassalis@atlantis-group.gr> 6 Let’s start from the fundamentals: basic infrastructure Web technologies and applications APIs Client-Server Technology Network • Internet Attention: The content of this presentation is mostly based on: M. Papazoglou and P. Ribbers, eBusiness: Organizational and Technical Foundations, Jon Wiley and Sons, 2006, 7 <pkavassalis@atlantis-group.gr> chapter 6. Students are encouraged to read this chapter. 1. The Internet The standards by which computers (enterprise applications) communicate with each other and with remote components Generally speaking Internet infrastructure enables various distributed applications o o E-mail, Web browsing, Skypying, file sharing, online games, online forms fill up Internet a network of interconnected networks <pkavassalis@atlantis-group.gr> 8 An overview of the Internet Partners’ Network Subsidiary’s Network Business Network <pkavassalis@atlantis-group.gr> 9 2. Client-Server technology Computers go… network Centralized processing vs distributed processing Centralized processing: all processing in one central computer Distributed processing: the processing work is executed by different computers, central machines (mainframes etc) and PCs linking together In a large of cases, the enterprise needs centralized data control and widespread data accessibility Client/Server is a computational architecture with o o o o Client processes (service consumers) Server processes (service providers) Where the client requests service from the server Service example: customer dara, inventory data <pkavassalis@atlantis-group.gr> 10 Roles that change A client computer for an maybe a server for another application The computer requests data from a central server for the available products in a inventory and publishes them over the Web (through another application, a web site application) client/server Give an example of client you use Google desktop <pkavassalis@atlantis-group.gr> 11 Basic features Clients and servers run on separate dedicated machines connected through a network and servers are software modules with well defined interfaces I “can’t” see the function performed by a client, they “hided” behind an interface Each client/server relationship is established between 2 entities that exchange messages Message exchange is interactive <pkavassalis@atlantis-group.gr> 12 An example Order application via the client/server model Order processing databases are located at the corporate office o o o Customer information Product information Billing Stores possess clients that communicate with the central system to pass orders Result: Many order processing points Standardization of the order processing through a common interface for everybody <pkavassalis@atlantis-group.gr> 13 A variation of the server/client model The client possesses extended functionality: rich or fat client Advantage: flexibility It has its own functionality, independent of the central server It performs most of the code that implements the use interface and the business application logic It implements the database access mechanisms on the server-side When the business application changes, no need to modify the “huge” server-side Advantage: bandwidth economies Rich clients have advantages in multimedia-rich applications (for example video-games) that would be bandwidth intensive if fully served <pkavassalis@atlantis-group.gr> 14 Another variation: the three-tier architecture (1) Processing Data Repositories <pkavassalis@atlantis-group.gr> 15 Another variation: the three-tier architecture (2) A middle-tier is introduced between the use system interface (client) and the database server: processing Presentation-tier o Processing or Server-tier o o Holds the permanent data for the application How these tiers interface each other? Business application logic Processing execution Data-tier o GUI (Web browser) Customized code APIs Advantages Improved performance for groups with a large number of users Flexibility and scalability albeit the complexity of distributed processing <pkavassalis@atlantis-group.gr> 16 3. APIs Application Programming Interface Hooks that can be used to connect to an application to invoke its business logic and retrieve its underlying data An API is an abstraction that describes an interface for the interaction with a set of functions used by components of a software system (Wikipedia) o Please give examples The software providing the functions described by an API is said to be an implementation of the API API Web API API integration is synchronous in nature and point-to-point <pkavassalis@atlantis-group.gr> 17 API as enterprise property APIs can be among a company's greatest assets Can also be among company's greatest liabilities Customers invest heavily: buying, writing, learning Cost to stop using an API can be prohibitive Successful public APIs capture customers Bad APIs result in unending stream of support calls References [see Course Web Page] <pkavassalis@atlantis-group.gr> 18 API: a Wikipedia example http://en.wikipedia.org/w/api.php?action=query&list=backlink s&bltitle=Star%20Wars&bllimit=10 http://en.wikipedia.org/w/api.php — This is the place on the web where the API lives. action=query — fetch the data requested in the rest of the URL list=backlinks — list pages that link to a specific page bltitle=Star%20Wars — the specific page with the title “Star Wars” (note that %20 represents a space) bllimit=10 — limit to 10 results <pkavassalis@atlantis-group.gr> 19 API: A Twitter example http://api.twitter.com/1/users/show.xml?screen_name=geeky girldawn http://api.twitter.com/1 — Version 1 of the Twitter API users — users section of the API to gather information on a user. show.xml — display the output as XML screen_name=geekygirldawn — the user that you want information about (geekygirldawn) <pkavassalis@atlantis-group.gr> 20 API: Google Maps http://code.google.com/intl/el/apis/maps/ <pkavassalis@atlantis-group.gr> 21 4. Web technologies and applications What is the web? Web organizes inter-linked pages of information residing on sites through the world The Web is one of the services that runs on the Internet o A collection of interconnected documents and other resources, linked by hyperlinks and URLs, and accessed via the Internet Result: Information can be automatically shared Web-based applications Web server Content files (Web pages) Gateways to non-Web content (for example: databases) o Please design the architecture on the basis of the client/server model <pkavassalis@atlantis-group.gr> 22 more http://www.livinginternet.com/w/w.htm Construction of Web applications Non-Web content Web Gateway <pkavassalis@atlantis-group.gr> 23