1 / 20

CD Database Server (CDDB)

CD Database Server (CDDB). Zachary Carter Alan Savage Diana Abbas Kyle Dorman. What Does a CDDB Server Do?. Provides Internet-based access to CD database Database Provides music CD information Artist Track Titles Release Date Because most music CDs do not have this information.

ketan
Download Presentation

CD Database Server (CDDB)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CD Database Server (CDDB) Zachary Carter Alan Savage Diana Abbas Kyle Dorman

  2. What Does a CDDB Server Do? • Provides Internet-based access to CD database • Database Provides music CD information • Artist • Track Titles • Release Date • Because most music CDs do not have this information

  3. Why Another CDDB Server? • Gracenote denies non-certified music players, and only supports CDDB2 • Gracenote is not free • Provide a platform independent server • Provide an alternative when other free databases are down

  4. Implementation • CDDB level 1 protocol • A text-based protocol • TCP/IP connection • MySQL and Enterprise JavaBeans (EJB) manage database • OpenEJB Container

  5. Data Flow CD Player Protocol Server MySQL Server EJB

  6. Music Player • Must Support CDDBP level 1 • Client Configuration • Connect via TCP/IP to CDDB server

  7. Server • CD Player connects to multithreaded server • Server instantiates a client thread • Client thread sends and receives data to the CD player • Client thread uses ServerProtocol to process CD player requests • Client thread dies when transactions finish

  8. ServerProtocol • Implements CDDBP level 1 protocol • Parses and interprets client requests • Provides appropriately formatted responses • Requests CD database information from EJBClient

  9. What is an EJB? • Enterprise Java Bean • Server-side objects • Aids in transactions between client and database • Consists of methods that encapsulate business logic

  10. EJB Architecture • Three tiers: • The client (makes calls to remote EJBs) • The EJB server (where the container resides) • The database (EJB business methods directly accesses database)

  11. EJB Container • Provides support for: • Transactions • Persistence • Management of multiple instances of a given bean • Concurrent execution of many beans • Keeping track of their state • Does not allow the bean to be accessed directly from the client • Protects the bean from the client

  12. EJB Bean EJB Container EJB Server Operating System Applications Programs Operating System BIOS Hardware EJB Analogy Layering in typical operating system Layering in EJBs

  13. A High-Level View of an EJB Conversation • Finding the bean • Getting access to a bean • Calling the bean’s methods

  14. EJB Conversation • Finding a bean: Java Naming and Directory Interface (JNDI) • Access to a bean: Home Interface • Calling the bean’s methods: Remote Interface • Analogous to JNDI: DNS translation from symbolic names

  15. Entity Beans • Track beans and CDAlbum beans • Life cycle includes: • Nonexistence • Pooled (Beans exist in the container with no identity) • Ready (Business methods can be invoked)

  16. MySQL • An opensource database • Data elements are organized using primary keys generated by MySQL database • SQL statements inserts data into the database using a script

  17. Advantages of EJB’s • Transaction processing • Persistent storage of objects • Platform independence • Multitiered architecture • “Write once, run anywhere”

  18. Visions • Implement higher level CDDB protocols • Implement a façade pattern • Index database by discid • Implement search features • Artist, disc title, track name, genre • Add file logging • Usage Statistics • Create a server side GUI

  19. The End!Questions?

More Related