Idaho National Engineering and Environmental Laboratory What is a Framework? Web Service? Why do you need them? Wayne Simpson (wsimpson@inel.gov) November 5, 2003 Idaho National Engineering and Environmental Laboratory Purpose • Show a solution to implement reusable components under a controlled environment • Explain what is a “Framework” for components in Object Oriented (OO) Programming • Explain the need for a Framework • Explain the need for a Web Service Idaho National Engineering and Environmental Laboratory Agenda • • • • • • • Problem: Efficiency of Software Development History What is a Framework? Benefits of a Framework Implementing Framework: Web Services Cost Savings of a Framework/Web Service Demonstration Idaho National Engineering and Environmental Laboratory Problem: Efficiency of Software Development • Methods of sharing code – Coworkers’ code – Previous applications – Internet search • Modifications cannot be implemented easily • Workload remained the same with fewer resources • Needed consistency in programming/naming conventions Idaho National Engineering and Environmental Laboratory History • • • • • • • • • • • Received object-oriented training Received UML training Studied existing framework Researched concept of web services Set proposed standards Developed four pilot projects Evaluated lessons learned Reset standards Built a number of components for framework Using framework for all new development activities Completing evaluation of web services interface Idaho National Engineering and Environmental Laboratory What is a Framework? • Framework is a group of components that work interactively with requests from other components or objects to generate a consistent output. Framework (Black Box) Company business rules, standards, policies Java C# C++ VB.Net Presentation, business rules, database queries, etc Object (GUI, XML, data, authentication, etc) Controlled Environment Idaho National Engineering and Environmental Laboratory Example Framework (Black Box) Company business rules, standards, policies Java C# C++ VB.Net Drop Down List, Select * from Users, log file Render: Drop Down List of Users on a Web page or Window Application, recording any errors to the log file 75% complexity Procedural Application 100% complexity 25% complexity Idaho National Engineering and Environmental Laboratory Benefits of a Framework • • • • Consistency across many platforms Better able to enforce standards and policy Better way to reuse components Lower skilled employee can perform work more efficiently • Single point of change to a common interface • Produce applications that are more robust, faster, stable and consistent Idaho National Engineering and Environmental Laboratory Implementing Framework: Web Services • A web service is a component that is presented as a URL that returns the desired information or objects • Web services are built the same way as class objects • Using a web service – Add a web reference – Add applicable XML documents – Call the web service through a URL, passing the necessary parameters – Process the information or object returned Idaho National Engineering and Environmental Laboratory Framework and Web Service Environment Presentation Business Objects Framework/ Web Service Database XML Production/ Development Development Idaho National Engineering and Environmental Laboratory Cost Savings of a Framework/Web Service • Current Object Orient programming cost savings over procedural programming is 20% to 30% at the INEEL. • Other companies are achieving 40% to 60% • Framework can make up the difference and add another 30% cost savings Idaho National Engineering and Environmental Laboratory Demonstration