CS612: IT Technology and Course Overview Dr. Lixin Tao ltao@pace.edu http://csis.pace.edu/lixin Computer Science Department Pace University Outline What is New in Computing Application Environment? What are the New Challenges in Computing? What is New in IT Industry over the Last Decade? What are the Recurring Great Ideas? CS612 Objectives 1/22/2010 Dr. Lixin Tao 2 1
What is New in Computing Application Environment? Economy globalization -> Specialized and Collaborated computing Frequent business reorganization, no single computing technology can dominate the market Global networked computing Computing as utility or service Application-Service-Provider (ASP) model of computing Service-Oriented Architecture (SOA) Enterprise System Integration is one of the main objectives of modern IT technologies 1/22/2010 Dr. Lixin Tao 3 What are the Main Challenges in Computing? How to control the extra complexity of computing due to Networking Event-driven computing Multi-threaded computing Computing on heterogeneous systems Server scalability and security How to integrate heterogeneous systems? How to share data among different business entities? 1/22/2010 Dr. Lixin Tao 4 2
What is New in IT Industry over the Last Decade? Component-based software engineering ee g A software component is a self-deployable unit of binary code with standardized public interfaces A component is normally made up of many objects: they are at different integration levels Java Beans, Enterprise JavaBeans, COM+, CORBA components are all examples Based on principles of complexity encapsulation, divide-and-conquer, and interface standardization Components run in their containers 1/22/2010 Dr. Lixin Tao 5 What is New in IT Industry over the Last Decade? Server-based computing Web-based computing Thin client applications Ajax A server service encapsulates a particular function s implementation and deployment A server service is made up of many components, and the services can be recursively rsi el integrated How can we let services, implemented in different languages and software frameworks and run on different platforms, interact? 1/22/2010 Dr. Lixin Tao 6 3
What are the Recurring Great Ideas? Abstraction + divide-and-conquer Objects -> components -> services Socket-level networking -> softwareframework-based networking Tiered Web architecture: presentation + business logic + data persistency Proxy design pattern Design business data structures with XML 1/22/2010 Dr. Lixin Tao 7 Enterprise System Integration: Key for Business Success A company s business process is normally supported by various information systems based on different technologies Major companies have operating units distributed across different cities or countries No company can be self-sufficient. Each company plays the roles of both consumer and producer It is more cost-effective to buy services from domain experts Conclusion: Both internal and external information systems need be integrated efficiently 1/22/2010 Dr. Lixin Tao 8 4
Service-Oriented Architecture (SOA) SOA is an architectural style whose goal is to achieve loose coupling among interacting software agents A service is a unit of work done by a service provider to achieve desired end results for a service consumer. Both provider and consumer are roles played by software agents on behalf of their owners Example: An online book broker store, like http://www.bookfinder4u.com B2C: The broker provides service of finding the best book prices B2B: The broker s IS checks major bookstore s IS services for their book prices 1/22/2010 Dr. Lixin Tao 9 Service-Oriented Architecture (SOA) The success of SOA depends on A standard interfacing technology adopted by all participating software agents Consumers don t need to install special tools to use each special service A mechanism for consumers to find potential service providers Consumers can easily switch to more cost-effective providers for similar services Observation: Standardization of interfacing technology and business service API are critical 1/22/2010 Dr. Lixin Tao 10 5
CS612 Objectives Make sure all students have basic Java concepts and skills to understand the latest IT technologies Make sure all students understand the basics of database technologies Make sure all students understand the basics of web technologies, and be able to create simple JSP and servlet web applications Make sure all students understand XML and its role in modern IT technologies 1/22/2010 Dr. Lixin Tao 11 CS612 Objectives Make sure all students ts understand d web services, and can make simple web service projects Make sure all students can understand what are the major IT challenges and technologies for us to study and apply ppy 1/22/2010 Dr. Lixin Tao 12 6
Course Virtual Machine IT virtualization technology will be used to support portable course labs All hands-on labs are based on the ubuntu10 VM, which has multiple web/application/database servers installed You can download the free VMware Player v3 and run the VM on any Windows or Linux computer that has one GB memory You can copy the VM folder on a USB flash disk and work on course work on any PC that has WMware Player installed 1/22/2010 Dr. Lixin Tao 13 Reference for VMs Video introduction to VM: http://csis.pace.edu/lixin/vm (replacing "WinXP4" with "WinXP2") Video introduction to Ubuntu904: http://csis.pace.edu/lixin/ubuntu904 You can download Linux version of VMware Player at https://www.vmware.com/tryvmware/?p=play er&lp=1 1/22/2010 Dr. Lixin Tao 14 7