* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Internet Shop - University of Amsterdam
Survey
Document related concepts
Entity–attribute–value model wikipedia , lookup
Oracle Database wikipedia , lookup
Microsoft Access wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Relational model wikipedia , lookup
Concurrency control wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Versant Object Database wikipedia , lookup
Database model wikipedia , lookup
Transcript
Databases and Web-Based Applications The MegaStore Application Advanced Internet-based Electronic Commerce Technologies for Music Industry Ammar Benabdelkader University of Amsterdam December 1, 2003 UvA, Amsterdam A. Benabdelkader ©UvA, 2002 Motivation • Large number of emerging e-commerce applications. These applications comprise large multimedia data, for which: – Data classification and cataloguing are required – Related information needs to be properly inter-linked – Efficient storage, and access of large multimedia data is supported – Short response time for on-line requests must be guaranteed – High data transfer rates must be provided • Furthermore, public information must be separated from the private information that need to be securely kept at the place where it belongs. A. Benabdelkader ©UvA, 2002 Approach • An efficient architecture must be designed addressing the need to provide the user of electronic commerce with an environment through which he can experience as sufficiently close to real life shopping environment. The approach considers the following aspects: – Security for data access and users authentication – Suitable user friendly interfaces – Performance issues must be addressed – Private data need to be protected – Public data is made available to the Internet users • The MegaStore system aims at the design and set-up of the necessary database structure and platform architecture for advanced e-commerce applications A. Benabdelkader ©UvA, 2002 Problem Analysis • From the analysis of music industry application, the following aspects are identified: – The data is geographically distributed over the network – Information about music is classified into two main categories: • The general information stored at the directory services (database catalogue) and accessible by all the Internet users • The raw music data that can only be accessible by the music storekeepers at music centers or burning towers – Depending on the user profile and authorization, only a part of the information can be accessed and users need not to know about the data distribution – The real music data must be securely transferred through a dedicated network – High bandwidth connection is necessary to handle raw music data that need to be transferred between the music storage centers and the burning towers – Low latency network connection is necessary to support the huge number of users expected to connect to the system A. Benabdelkader ©UvA, 2002 Database Design SONG Album Order Song ID: Short Song Title: String Album ID: Short AlbumOrders 0..* Order ID: Short Song Type: String SongOfAlbum 0..* Album Title: String Order Date: Date Song Genre: String Album Publisher: String 1..* OrderAlbums 1..* AlbumSongs Release Date: Date Album Cover: Image Song Lyrics: String Album Price: Float 0..* Song Price: Real Album PubYear: Date Status Code: Char 0..* Song Label: String OrderedBy CustOrders Song Barcode: Short AlbumArtists ArtistAlbums Sort Code: Char Song Prefix: String 1..1 1..* Song Suffix: String Song Flags: String Customer ARTIST Song Duration: Time SungBy Song Language: String Cust ID: Short 1..* Artist Name: String Song Stream: Audio Cust Name: String 1..* Artist Bio: String ArtistSongs Song Video: Video Cust Faithful: Short Artist Language: String Cust Company: String 0..* Artist Image: Image Cust Address: String Uses Used In Cust Country: String Cust Email: String 0..* Instrument Composer Performer InstName: String InstCat: String A. Benabdelkader ©UvA, 2002 The MegaStore System Architecture (1) The designed system architecture involves the following components: – The back-end system, including the database engine and the predefined networking connection between the MegaStore system components – The front-end system, including: • The Internet–Shop interface, where a user from home (or work place) can search for music, listen/watch to the audio/video clips, and order CDs, and • The Shop-in-a-Shop interface, where the music storekeeper can fetch on-line the real music data from its original source in order to burn at run-time the requested music CDs A. Benabdelkader ©UvA, 2002 The MegaStore System Architecture (2) Parallel Distributed Database Server WWW Browser Remote Applications Web Server Shop-in-a-shop Server Web Server Internet Local database Internet Shop Directory Services Interface Intranet Internet Shop Interface Local database Database Catalogue Local database Local database LAN Web Server Web Server Internet WWW Browser Shop-in-a-shop Shop-in-a-shop Interface Interface High bandwidth medium bandwidth- medium latency Remote Client Low latency A. Benabdelkader ©UvA, 2002 Activity Diagram for the InternetShop Interface User Login Internet User S Level 1 Artist Entry Song Entry Album Entry Show Help Level 2 Show Artists Show Songs Show Albums Order albums Level 3 Artist Songs Song Artists Album Songs Custom Orders A. Benabdelkader ©UvA, 2002 Internet Web Interface (1) A. Benabdelkader ©UvA, 2002 Internet Web Interface (2) (a) Song Search (b) Album Search A. Benabdelkader ©UvA, 2002 Dynamic Browsing of Interface (A) Artist Songs (B) Album Songs (A) (B) A. Benabdelkader ©UvA, 2002 MegaStore Ordering System User Logging Logged Order Created Submitted Order Handling Handled Order Archived State Diagram for Orders (a)Standard Order (b)Custom Order A. Benabdelkader ©UvA, 2002 System Implementation • The database schema is implemented on top of the Matisse object-oriented database system • The Matisse back-end database runs on a cluster composed of 20 nodes. • The MegaStore Internet interface is implemented using an NT front-end machine, that is in turn connected to the underlying back-end database. • The Internet-shop server prototype is implemented using a combination of the following software technologies: – JavaScript and Vbscript for tips programming, – Active Database Objects (ADO) for database access, and – HTML for text formatting • the server implementation is made possible using the Active Server Pages (ASP) environment that allows the combination of different software technologies in one single environment. A. Benabdelkader ©UvA, 2002 Information Management Strategy F- A F- B F- C DBA Program Legacy systems (Flat-files and Databases) Database access Adapter Adapter Adapter - ODL - OIF C++ Access independent Framework JAVA ODBMS SQL User Interfaces SQL3 Object-oriented Facilitating Applications - ODBC - XML - JDBC, Java Databases - ODL is used to support the portability of database schemas across conforming ODBMSs. - OIF is used to exchange objects between databases and provide database documentation. Applications - Universal data access through standards and middle ware solutions (XML, ODBC, JDBC, JAVA, etc.). A. Benabdelkader ©UvA, 2002 Management of Large Multi-Media Data • An efficient architecture must be designed for manipulation of large data sets. Therefore, Data management mechanisms must be addressed in such a way that: – Data needs to be properly searched, retrieved, published, interlinked, and compared to other data, – Information security is preserved, – Performance issues are improved, – Private data is protected, while published data is made available to the outside users. A. Benabdelkader ©UvA, 2002 Data Storage Approaches • File System Approach and HFS (Hierarchical File System) • External Data Link Approach – database catalogue refers to NFS (network file system) • One-Database Storage Approach • Parallel/Distributed Database Server • etc. A. Benabdelkader ©UvA, 2002 1- File System Approach • Inefficient in: – Maintaining the link between the inter-related pieces of information, – Comparing related data in different applications, – Supporting the ability to query and modify the data using appropriate query languages, – Searching the stored information and supporting efficient access to data items, – Preserving the system coherency, data is scattered in various files of different formats. • Applications are based on direct access to local file system: they are hard to maintain and to extend. Disk Application A. Benabdelkader ©UvA, 2002 2- External Data Link Approach • A database catalogue is used together with the file system: – Database provides references to all objects stored locally or remotely – This approach solves problems related to database overload and improves DB performance – Data is distributed so that it is physically located closest to intensive usage sites – Result files can be archived at (or close to) the point where they are generated – Proper data distribution reduces access bottlenecks at individual sites Link Database Catalogue Disk Application A. Benabdelkader ©UvA, 2002 2- External Data Link Approach (Cont.) Two problems are faced when using this approach: • Database catalogue consistency: referenced binary objects can be updated/removed without notifying the database catalogue maintainer – Solution: a specific module that automatically and periodically checks the availability of the referenced objects against the database catalogue • Security issue: referenced objects, which are usually stored in a public location, are not secure. – Solution: development of a remote file server, through which, the file access and user authentication are controlled based on the database catalogue information A. Benabdelkader ©UvA, 2002 3- One-Database Storage Solution • In ideal case, if a database is being created to manage the meta-data, then that database must also store the large scientific data – This approach solves the problem of keeping the meta-data synchronized with the archive • However, since the scientific binary data is of huge size: – It is very costly to store/access the data as large binary objects within the database itself – Access mechanisms to binary objects require extra encoding/decoding facilities Database Application A. Benabdelkader ©UvA, 2002 4- Parallel/Distributed Database Server • This approach uses a database repository to store the general information, and a distributed database server to store large objects: – The database repository is better exploited for cataloguing, indexing, and searching facilities – The database server enforces the issues related to security for access, concurrency control, and information visibility rights. User Queries Query Processor Transaction Manager Storage Manager Application DBMS Software DB Repository & Metadata DB Database Server DB DB Database System A. Benabdelkader ©UvA, 2002 Parallel/Distributed Database Server Example Database Server WWW Browser LAN Internet Web-based Application Web Interface Internet Storage Manager Database Catalog WWW Browser Database Server Remote User End Users Common Access Point Database Server Parallel/distributed database Server A. Benabdelkader ©UvA, 2002 Distributed Parallel Server Extension The parallel/distributed database framework provides the MegaStore web server with efficient access to the raw music data. The nodes (music stores) of the distributed MegaStore server are interconnected, making it possible for specific users to connect to any node in the distributed server and to request an object, without the need to know where that object actually resides The distributed database supports the following required functionalities: – – – – Provides a way for managing huge amount of data Data is securely kept at geographically distributed music centers Data is stored only at the point(s) where it belongs Data is visible from any node (music center) within the cooperation community – Data is efficiently transferred between the nodes in short response time A. Benabdelkader ©UvA, 2002 The MegaStore Prototypes - The FRS Application - The LuisterPaal Interface - Sheet Music Server A. Benabdelkader ©UvA, 2002 Achievement • Design and development of an e-MegaStore application that seamlessly fits several emerging applications and supports their model of operations • Design Methodology: – A conceptual model – A computer system architecture – An Implementation – Prototype A. Benabdelkader ©UvA, 2002 Conceptual Model Content Suppliers Partners Value Adding Partners Information Integration and Value Adding Retailer Shops and home users A. Benabdelkader ©UvA, 2002 System Architecture Multimedia Database Suppliers Major Content Suppliers Retail Value Adding FRS NL FRS BE Van Leest MSI Musi c Hemi spher e Catalogue External Links Additional Inf. FireWall Upload & Storage Interne t Shop Network Internet Users Advanced In-Shop Systems A. Benabdelkader ©UvA, 2002 The FRS-Pilot Application Multimedia Database Server Music Content Multimedia Database Catalogue Additional Inf. Back Office SQL Server Internet Shop Database Catalogue LAN Interne t Cache Music Center Shops Catalogue WWW Browser Internet User A. Benabdelkader ©UvA, 2002 Security for the Multimedia DB Multimedia Database Server Multimedia Content Short Clips Audio Data is Secure but Not Encrypted Medium Tracks High Quality Audio/Video Audio Tracks Data is Secure and Encrypted Data is Secure and Highly Encrypted A. Benabdelkader ©UvA, 2002 FRS Application Main Interface A. Benabdelkader ©UvA, 2002 FRS Application LuisterPaal Interface A. Benabdelkader ©UvA, 2002 Sheet Music Application Main Interface A. Benabdelkader ©UvA, 2002 Sheet Music Application Subscription Interface A. Benabdelkader ©UvA, 2002 Sheet Music Application Music Book Search Interface A. Benabdelkader ©UvA, 2002 Sheet Music Application Composer Search Interface A. Benabdelkader ©UvA, 2002 Sheet Music Application Music Notes Example A. Benabdelkader ©UvA, 2002 Conclusion • The main idea behind the developed framework is to design a comprehensive system to support advanced web-applications with two specific characteristics: – to hold large data sets and – to manage multimedia information • Thus, the MegaStore system can be considered as a general implementation approach that proves the validity of the proposed architecture and design. • From this framework, other applications in biology, medicine, and system engineering that share the same characteristics can benefit. A. Benabdelkader ©UvA, 2002 References • Personnel Home Page: – http://carol.wins.uva.nl/~ammar • Cooperative Information Management (CO-IM) Home Page: – http://carol.wins.uva.nl/~netpeer/ • Matisse DBMS: – http://www.matisse.com • Related Publications: – A. Benabdelkader, H. Afsarmanesh, L. O. Hertzberger. MegaStore: Advanced Internet-based Electronic Commerce Service for Music Industry. In proceedings of 11th IEEE International Conference on Database and Expert Systems Applications - DEXA'2000, Pages 869-878, London Greenwich, United Kingdom, 2000. – A. Benabdelkader, H. Afsarmanesh, L. O. Hertzberger. The Virtual MegaStore System Implementation. Technical Report CS-99-05, Faculty of Science, Research Institute Computer Science, University of Amsterdam, 1999. – A. Benabdelkader, H. Afsarmanesh, L. O. Hertzberger. The Virtual MegaStore System Architecture: Analysis and Design. Technical Report CS-99-04, Faculty of Science, Research Institute Computer Science, University of Amsterdam, 1999. A. Benabdelkader ©UvA, 2002