Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
CIS 498/698 Projects in Distributed Computing Give me an email ([email protected]) if you are interested (1, 2, 3, or 4 credits). Students typically discuss a topic with me, research it and get it going, then when it is about half way done, register for the CIS 698 course even during the semester). Some Suggested Project Topics RMI: Deploy a real “bridge” playing program. Or, an advanced project involving the use of RMI/J2EE Design Patterns. J2EE applications Sun’s J2EE Reference Implementation: Implementation of Deitel & Deitel examples deploying Entity and Session Beans, + other web examples, and documentation. Web Services: (Invented in 2000 by Microsoft for their .NET platform) How about building a “real” bridge playing program that runs on all platforms (>1 credits) via Web Services. Lots of other neat things to build using Java/.NET Web Services You can use sun’s JWSDP to build a java based web server/client or use Microsoft’s .NET Web Services to build a vb/c# based web server/client. Or you could use WebLogic’s built in Web Services! You could build a web service that culls information from several existing web services in the real world (like amazon.com’s web service). Microsoft .NET: In June 2000 Microsoft announced its .NET initiative, a broad new vision for incorporating the Internet and the Web in development, delivery and use of software. Web services are a key component of the .NET strategy, and Microsoft provides extensive tools for developing and interacting with Web services Visual Studio .NET is Microsoft’s integrated development environment and is used for creating and consuming Web services. .NET Framework is at the heart of the .NET strategy. This framework manages and executes applications and Web services, provides a class library (called the Framework Class Library (FCL), enforces security and supplies many other programming capabilities. Another central part of the .NET framework is the Common LanguageRuntiime (CLR) which executes programs written in any .NETcompatible programming language. Lots of projects mentioned under Web Services and ADO.NET. 1 What is the Microsoft .NET Architecture? The Microsoft .NET architecture is the programming model for the .NET platform. The .NET Framework provides a managed execution environment, simplified development and deployment, and integration with a wide variety of programming languages. The .NET Framework has two key parts: The .NET Framework class library is a comprehensive, object-oriented collection of reusable types that you can use to develop applications. The .NET Framework class library includes ADO.NET, ASP.NET, and Windows Forms. The common language runtime (CLR) is the core runtime engine for executing applications in the .NET Framework. You can think of the CLR as a safe area--a "sandbox"-- inside of which your .NET code runs. Code that runs in the CLR is called managed code. It is fully protected from the outside environment and highly optimized within, taking advantage of the services that the CLR provides such as security, performance, deployment facilities, and memory management, including garbage collection. WebLogic 8.1: Deploy a serious bookstore. BEA already has a good example of a serious petstore in its examples. Try to deploy D&D advjhtp CH 21 BEA WebLogic Deitel Bookstore. Or, play with and learn the latest new type of EJB, the message-bean. Explore Bluetooth using Java: Bluetooth is a low-power wireless (500 x less than the well known 802.11b wireless LAN technology) communication protocol (similar to HTTP, FTP, IMAP etc.) that uses a low power Bluetooth radio (through walls unlike infrared technology) for communication between close (30-to-300(class 1 Bluetooth) feet vs. 802.11 300 feet or more) low-power peripheral devices (and voice communication). For example: a Bluetooth-enabled mobile phone can lookup a telephone number in a contact list on a Bluetooth-enabled PDA (no wires, no hassle). If you’ve taken CIS 632 (or even if you haven’t) Bluetooth can be easily combined with J2ME MIDP. See “Bluetooth for Java” by Bruce Hopkins by Apress. 2 Creating a Customized Portal (http://www.sys-con.com/story/?storyid=46966&DE=1) It used to be difficult if you wanted to create a Web-based site that offered users the ability to access various systems from a single page. Systems were too severely disjointed and required a huge investment of time and work in order to bring them together in a single Web page. If you visit the Apache.org Web site (www.apache.org), you'll find the portals project. You should download and install the Pluto project and begin to generate some portlets. Pluto is the reference implementation for the portlets technologies and, as such, is completely compliant with the latest and greatest iteration of the portlet specification. MOM: (Messge-Oriented-Middleware), JMS (Java Message Service) Lots of neat things to build here too (asynchronously!). CORBA: See WWW via google. JINI: See D&D advjhtp and the www via google. Exploration of its use following sun micro web course example, both implementing and documenting. STRUTS: (http://www.assortedinternet.com/struts-documentation/index.html) Why do we need Struts? Java technologies give developers a serious boost when creating and maintaining applications to meet the demands of today's public Web sites and enterprise intranets. Struts combines Java Servlets, Java ServerPages, custom tags, and message resources into a unified framework. The end result is a cooperative, synergistic platform, suitable for development teams, independent developers, and everyone in between. How does Struts work? Java Servlets are designed to handle requests made by Web browsers. Java ServerPages are designed to create dynamic Web pages that can turn billboard sites into live applications. Struts uses a special Servlet as a switchboard to route requests from Web browsers to the appropriate ServerPage. This makes Web applications much easier to design, create, and maintain. Apache Software Foundation STRUTS Project Struts is an Apache Software Foundation project, with the mission to "provide secure, enterprisegrade server solutions based on the Java Platform that are developed in an open and cooperative fashion". The goal of this project is to provide an open source framework for building web applications. The core of the Struts framework is a flexible control layer based on standard technologies like Java Servlets, JavaBeans, ResourceBundles, and Extensible Markup Language (XML), as well as various Jakarta Commons packages. Struts encourages application architectures based on the Model 2 approach, a variation of the classic Model-View-Controller (MVC) design paradigm. 3 Struts provides its own Controller component and integrates with other technologies to provide the Model and the View. For the Model, Struts can interact with any standard data access technology, including Enterprise Java Beans, JDBC, and Object Relational Bridge. For the View, Struts works well with JavaServer Pages, including JSTL and JSF, as well as Velocity Templates, XSLT, and other presentation systems. The Struts framework provides the invisible underpinnings every professional web application needs to survive. Struts helps you create an extensible development environment for your application, based on published standards and proven design patterns. Struts is part of the Apache Jakarta Project, sponsored by the Apache Software Foundation. The official Struts home page is at http://jakarta.apache.org/struts. ADO.NET: This new data component, ADO.NET, introduced with .NET, presented an exciting new approach to data access. Though the techniques, and logic used to connect to databases with ADO.NET weren't startlingly different from those used with its predecessor (ADO), ADO.NET had a lot to offer. What was unique about this technology was the architecture beneath it all, its powerful approach to data management, and the flexibility in the next level of data-presenting devices. ADO, for its time, was certainly successful. Although the re-releases of the technology hadn't heralded dramatic change for ADO, it achieved what it had to within its own architecture. However, it was continually plagued by problems that surrounded its handling of disconnected data stores, and functioning properly and concisely with XML. This is where ADO.NET stepped in - these are the two things the new technology easily manages, as XML is the core component of the entire .NET Framework! ADO.NET was simply created to remedy all the deficiencies found in ADO, and provide developers with the power to achieve more with less. What is ADO.NET? 4 ADO.NET is the data access component for the .NET Framework. ADO.NET leverages the power of XML to provide disconnected access to data. ADO.NET is made of a set of classes that are used for connecting to a database, providing access to relational data, XML, and application data, and retrieving results. ADO.NET data providers contain classes that represent the provider’s Connection, Command, DataAdapter, and DataReader objects (among others). The following figure shows how ADO.NET fits into the communication between a Web client and the DBMS. How Does ADO.NET Work? 5 ADO.NET makes it possible to establish a connection with a data source, send queries and update statements to the data source, and process the results. ADO.NET has several key components: Application or component, which processes and calls ADO.NET functions to submit SQL statements and retrieve results DataSet, an in-memory cache of data which functions like a disconnected XML data cache. The overall functions of the DataSet closely recall those of an inmemory database. The DataSet is designed to run in the application space wherever the logic requires local data. This helps increase scalability of systems by reducing load on the major database backends and enabling local processing of data across whatever tier the application requires. For flexibility, the DataSet provides XML and relational interfaces of the data to the developer. DataReader which provides a direct, read-only SQL interface to the backend. The DataReader is a component of the data provider. .NET Data Provider, which connects an ADO.NET application to the backend data store. The data provider comprises the Connection, Command, DataReader, and DataAdapter objects. The data provider supplies connection information through the Connection object. The following figure shows a scenario in which the application and the data provider are both built with managed code. The application can connect to a database using either a DataSet and a DataAdapter, or a DataReader. 6 Why Do Application Developers Need ADO.NET? ADO.NET provides a comprehensive caching data model for marshalling data between applications or services with facilities to optimistically update the original data sources. This enables developers to get started with XML while leveraging existing skills with SQL and the relational model. Although the ADO.NET model is different from the existing ADO model, the same basic concepts include provider, connection, and command objects. By combining the continued use of SQL with similar basic concepts, current ADO developers should be able to migrate to ADO.NET over a reasonable period of time. 7