1 / 18

Software – Part 3

Software – Part 3. V.T. Raja, Ph.D., Information Management College of Business Oregon State University. Outline Recent/Current Trends in Software. Java Open Source Software Visual and Markup Languages (e.g., Visual Basic, Visual C++, HTML) Object Oriented Programming Middleware

azra
Download Presentation

Software – Part 3

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. Software – Part 3 V.T. Raja, Ph.D., Information Management College of Business Oregon State University

  2. Outline Recent/Current Trends in Software • Java • Open Source Software • Visual and Markup Languages (e.g., Visual Basic, Visual C++, HTML) • Object Oriented Programming • Middleware • Enterprise Resource Planning (ERP) • Web Services and Service-Oriented Architecture (SOA) • Other Trends • Selecting Software

  3. Object Oriented Programming Employee (Object/Class) Name (Variable) ID (Variable) Pay (Method/Procedure) Non-Salaried Employee (Subclass of employee) Name (Inherited variable) ID (Inherited variable) Hourly rate (variable) Pay (Method Adaptation/Override)

  4. Object Oriented Programming • Encapsulation • The process of grouping variables, procedures and data into objects (Classes) is called encapsulation. • Inheritance • Child objects inherit from parent object • Reusability of code (advantage of OOP) • UML – Unified Modeling Language: • A language for modeling a complex object-oriented software system – think of it as a blueprint (for the entire system) that documents the objects, variables, and the relationship between different objects.

  5. Distributed Computing Middleware db db db db Middleware • Software that makes it possible for systems on different platforms to communicate with each other. • Allows applications to talk to each other • Consistent Application Program Interface (API) • Code application to talk to middleware, not underlying resources • Upgrade/modify underlying resources without needing to modify applications

  6. Middleware(Continued) • ORB architecture: ORB activate service locate service establish connection Remote Service Client communicate

  7. Middleware(Continued) • File sharing using Napster: ORB activate service locate service establish connection Stored Files Request communicate

  8. Some Benefits of Middleware • Anonymous interaction among applications • Integrate new client/server applications with existing legacy, mission-critical applications • Easier development environment • Reduce cost • Improve time-to-market of applications • Enables distributed data environment • Popularity of ERP

  9. Some Disadvantages of Middleware • Rapidly changing technologies • Switching costs are high • Upgrade from previous “Middleware” solutions • Requires high technical expertise • Tend to outsource • Lengthy deployment time • Security

  10. Web Services • Refers to a set of loosely coupled software components that exchange information with each other using standard Web communication standards and languages.

  11. Web Services – Foundations • XML– eXtensible Markup Language • SOAP– Simple Object Access Protocol • WSDL– Web Services Description Language • UDDI– Universal Description, Discovery, and Integration • Ajax - Asynchronous JavaScript and XML

  12. XML • XML is a language for representing contents (compare with HTML which is a language for representing formatting instructions). • XML developed by W3C in 1996 • HTML example: • <title>this is an example</title> • <b>this is in bold</b> • <i>this is in italics</i> • <b><i>this is in bold italics</i></b>

  13. XML XML example: This is a person, whose first name is 'Joe,' and whose last name 'Smith.' This person is a teacher. • <person> <name> <first>Joe</first> <last>Smith</last> </name> <profession>teacher</profession> </person> • Can define your own tags. • Easier to transfer data between different systems – because it is text based content

  14. SOAP; WSDL • Simple Object Access Protocol • A set of rules for exchanging XML-based messages over computer networks. • Web Services Description Language • Common framework for describing the tasks performed by a Web Service and the commands and data it will accept so that it can be used by other applications

  15. UDDI; SOA • Universal Description, Discovery, and Integration • Enables a web service to be listed in a directory of Web services so that it can be easily located. • Service Oriented Architecture • Self-contained services that communicate with each other to create a working software application • Amazon’s customer interface, customer service interface, seller interface, billing, etc. integrated

  16. Ajax - (Asynchronous JavaScript and XML) • Mistake in filling out a Web Order Form (Don’t have to start all over again) • Click the North arrow once, and don’t have to wait for new page to load • Software technique that prevents these inconveniences by allowing client and server to hold a conversation in the background, transferring your entries as they are made to the server without your awareness.

  17. Other Trends • Integration of hardware, software and telecommunications • Examples: Car navigation systems Smart Cards • Software Outsourcing • Application Service Provider (ASP) Model • Server Virtualization

  18. Selecting software for an organization Some factors to consider: • Business need satisfied? • Platform independence/compatibility • (Open Systems; middleware tools) • Open Source/Proprietary • Off-the-shelf/Custom software • ASP Model/Software Outsourcing • Availability of documentation support • Availability of maintenance/vendor support • Cost/Budget? • (Licensing, End-user Training, Maintenance/Upgrades) • Reliability and Security

More Related