Optimization Services Robert Fourer, Jun Ma, Kipp Martin Setting Up and Hosting Your Solver as Web Services via Optimization Services (OS) Jun Ma

Slides:



Advertisements
Similar presentations
웹 서비스 개요.
Advertisements

Optimization Services Robert Fourer, Jun Ma, Kipp Martin Optimization Services OS Server and OS Libraries Jun Ma Industrial Engineering.
Solver and modelling support for stochastic programming H.I. Gassmann, Dalhousie University Happy Birthday András, November 2009.
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
XP Browser and Basics1. XP Browser and Basics2 Learn about Web browser software and Web pages The Web is a collection of files that reside.
XML Technologies and Applications Rajshekhar Sunderraman Department of Computer Science Georgia State University Atlanta, GA 30302
Jacob Boston Josh Pfeifer. Definition of HyperText Transfer Protocol How HTTP works How Websites work GoDaddy.com OSI Model Networking.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
Introduction to Web Interface Technology (CSE2030)
Optimization Services (OS) Framework and OSP Protocols (OSxL) “Combining Operations Research with Computing Technology” Jun Ma 10/24/2004.
INTRODUCTION TO WEB SERVICES CS 795. What is a Web Service ? Web service is a means by which computers talk to each other over the web using HTTP and.
1 Web Services Visual C# 2008 Step by Step Chapter 30.
Processing of structured documents Spring 2003, Part 6 Helena Ahonen-Myka.
INTRODUCTION TO WEB DATABASE PROGRAMMING
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Robert Fourer, Jun Ma, Kipp Martin, Optimization Services, January 18, 2005 Optimization Services (OS) Jun Ma Motorola, Schaumburg 01/18/2005 Robert Fourer.
Robert Fourer, Jun Ma, Kipp Martin Optimization Services Instance Language (OSiL), Solvers, and Modeling Languages Kipp Martin University of Chicago
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
Comp2513 Forms and CGI Server Applications Daniel L. Silver, Ph.D.
Server-side Scripting Powering the webs favourite services.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
Simple Web Services. Internet Basics The Internet is based on a communication protocol named TCP (Transmission Control Protocol) TCP allows programs running.
SSC2: Web Services. Web Services Web Services offer interoperability using the web Web Services provide information on the operations they can perform.
Web application architecture
Recent Changes to the Optimization Services Project H.I. Gassmann, Faculty of Management J. Ma, Northwestern University R.K. Martin, The University of.
Robert Fourer, Jun Ma, Kipp Martin Copyright 2006 An Enterprise Computational System Built on the Optimization Services (OS) Framework and Standards Jun.
Outline  Enterprise System Integration: Key for Business Success  Key Challenges to Enterprise System Integration  Service-Oriented Architecture (SOA)
HOW WEB SERVER WORKS? By- PUSHPENDU MONDAL RAJAT CHAUHAN RAHUL YADAV RANJIT MEENA RAHUL TYAGI.
Extensions to the OSiL schema: Matrix and cone programming Horand I. Gassmann, Dalhousie University Jun Ma, Kipp Martin, Imre Polik.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
SUSE Linux Enterprise Desktop Administration Chapter 12 Administer Printing.
Web Server Administration Web Services XML SOAP. Overview What are web services and what do they do? What is XML? What is SOAP? How are they all connected?
11 Web Services. 22 Objectives You will be able to Say what a web service is. Write and deploy a simple web service. Test a simple web service. Write.
MobileMAN Internal meetingHelsinki, June 8 th 2004 NETikos activity in MobileMAN project Veronica Vanni NETikos S.p.A.
Jun Ma, Optimization Services, July 19, 2006 Optimization Services (OS) Today: open Interface for Hooking Solvers to Modeling Systems Jun Ma Northwestern.
Robert Fourer, Jun Ma, Kipp Martin Optimization Services and the Stylized “OS” Logo are registered in the US Patent & Trademark Office. All other product.
1 Chapter 28 Networking. 2 Objectives F To comprehend socket-based communication in Java (§28.2). F To understand client/server computing (§28.2). F To.
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
Chapter 16: Networking F Client/Server Communications F Serving Multiple Clients F Applet Clients F Viewing HTML Pages F Retrieving Files from Web Servers.
Jun Ma, Optimization Services, June 23, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University T.J.
Fourer, Ma, Martin, An Open Interface for Hooking Solvers to Modeling Systems INFORMS International, Puerto Rico, July 8-11, INFORMS International.
Robert Fourer, Jun Ma, Kipp Martin, Optimization Services, May 06, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences.
Experiment Management System CSE 423 Aaron Kloc Jordan Harstad Robert Sorensen Robert Trevino Nicolas Tjioe Status Report Presentation Industry Mentor:
Jun Ma, Optimization Services, March 06, 2006 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University.
1 Web Servers (Chapter 21 – Pages( ) Outline 21.1 Introduction 21.2 HTTP Request Types 21.3 System Architecture.
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
Robert Fourer, Jun Ma, Kipp Martin Copyright 2006 Optimization Services hookup Language (OShL) Jun Ma INFORMS, Pittsburgh 11/08/2006 Jun Ma Robert Fourer.
ASP.NET Web Services.  A unit of managed code installed under IIS that can be remotely invoked using HTTP.
Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
Web Services An Introduction Copyright © Curt Hill.
Optimization Services Framework and OSxL Protocols Jun Ma Northwestern University 09/14/04.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
Jun Ma, Sanjay Mehrotra and Huanyuan Sheng Impact Solver for Optimization Services, November 8, 2006 On Implementing a Parallel Integer Solver Using Optimization.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Technical lssues for the Knowledge Engineering Competition Stefan Edelkamp Jeremy Frank.
Robert Fourer, Jun Ma, Kipp Martin Copyright 2005 Optimization Services (OS) Jun Ma Annapolis, 01/07/2005 Robert Fourer Jun Ma Northwestern University.
Simple Web Services. Internet Basics The Internet is based on a communication protocol named TCP (Transmission Control Protocol) TCP allows programs running.
Net-centric Computing Web Services. Lecture Outline  What is Web Service  Web Service Architecture  Creating and using Java Web Services  Apache Axis.
SOAP, Web Service, WSDL Week 14 Web site:
Web Services Essentials. What is a web service? web service: software functionality that can be invoked through the internet using common protocols like.
Huanyuan Sheng, Sanjay Mehrotra and Jun Ma Impact Solver for Optimization Services, November 15, 2005 IMPACT Solver for Optimization Services Huanyuan(Wayne)
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 9 Web Services: JAX-RPC,
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Web Programming Developing Web Applications including Servlets, and Web Services using NetBeans 6.5 with GlassFish.V3.
INTRODUCTION TO WEB SERVICES CS 795. What is a Web Service ? Web service is a means by which computers talk to each other over the web using HTTP and.
Optimization via Simulation under Optimization Services (OS)
WEB API.
Web Server Administration
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
Presentation transcript:

Optimization Services Robert Fourer, Jun Ma, Kipp Martin Setting Up and Hosting Your Solver as Web Services via Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences, Northwestern University 11/04/2007 Robert Fourer Jun Ma Northwestern University Kipp Martin University of Chicago

Optimization Services Robert Fourer, Jun Ma, Kipp Martin Outline Motivation OS Framework OS Library OS Server Conclusion/User Experience

Optimization Services Robert Fourer, Jun Ma, Kipp Martin Motivation Future of Computing

Optimization Services Robert Fourer, Jun Ma, Kipp Martin OS Framework Optimization Services System Parse to OSiL OS Server location OS Server browser Web page Google Web Server CGI socket http/html OSP/ OSxL Database/ App Service Web address html form

Optimization Services Robert Fourer, Jun Ma, Kipp Martin OS Library OSCommon –representationParser OSiL Reader/Writer OSrL result OSoL option Etc. –util data structure io xml etc –communicationInterface OShL (hook up to solvers/analyzers: solve, send, retrieve) OScL (call to simulations) OSdL (discover in registries) –localInterface OSInstance etc. –nonlinear: defines all the nonlinear operator/operands/functions OSiLReader reader = new OSiLReader(); reader.read(example.osil); reader.getLinearConstraintCoefficients(); reader.calculateNonlinearFunction(5, x); //x is double[]

Optimization Services Robert Fourer, Jun Ma, Kipp Martin OS Library OSAgent –Solver agent –Simulation agent –Solver agent OSSolver –Utility and implementation of os-compatible solvers OSSimulation –Utility and implementation of os-compatible simulation. OSRegistry –Allows os developers to register their services –Lets os users discover os services –Let os users/developers validate instances OSAnalyzer –Utility and implementation of os-compatible analyzers. OSScheduler –Schedules optimization jobs over the distributed system –Takes care of all the non-optimization related chores. OSSolverAgent agent = new OSSolverAgent(); agent.solverAddress = “ String osrlResult = agent.solve(osilInstance, osolOption);

Optimization Services Robert Fourer, Jun Ma, Kipp Martin OS Framework Optimization Services Protocol (OSP) Application Presentation Session Transport Network Link Physical The 7-layer OSI Model The 4-layer Internet model HTTP IP TCP Ethernet SOAP OSP Application Presentation Session Transport Network Link Physical GET /xt/services/ColorRequest HTTP/1.0 Content Length: 442 Host: localhost Content-type: text/xml; charset=utf-8 SOAPAction: "/getColor" OSP – specifies soap content Communication Interface Representation e.g. hook (“ … ”)

Optimization Services Robert Fourer, Jun Ma, Kipp Martin OS Server Networking Protocols: HTTP, SOAP, OSP (OS server: Tomcat, Axis, OS library) OSServer = http parser soap parser osp handler CbcSolverService

Optimization Services Robert Fourer, Jun Ma, Kipp Martin OS Server

Optimization Services Robert Fourer, Jun Ma, Kipp Martin Download the OSServer Download the binary distribution: os-distribution-release_number.zip. The server side of the Java distribution is based on the Tomcat 5.5 implementation. After unpacking os-distribution-release_number.zip there is a directory os-server-1.0 and a single file os.war. For users that have not installed the Tomcat server, os- server-1.0 contains all of the necessary files for a OS Solver Service. If you do not have a Tomcat server running do the following to setup a Tomcat server with the OS Solver Service :

Optimization Services Robert Fourer, Jun Ma, Kipp Martin Setting up the OSServer Step 1. Put the folder os-server-1.0 in the desired location for the OS Solver Service on the server machine. Step 2. Connect to the Tomcat bin directory in the os-server-1.0 root and execute./startup.sh (Linux) or./start.bat (Windows) Step 3. Test to see if the server is running the OSSolverService. Open a browser on the server and enter the URL or You should see a message Click to see the WSDL. Click on the link and you should see an XML description of the various methods available from the OSSolverService. Step 4. On a client machine, create the file testremote.config with the following lines of text -serviceLocation -osil parincLinear.osil where ***.***.***.*** is the IP address of the Tomcat server machine. Then, assuming the files testremote.config and parincLinear.osil are in the same directory on the client machine as the OSSolverService execute:./OSSolverService -config testremote.config You should get back an OSrL message saying the problem was optimized.

Optimization Services Robert Fourer, Jun Ma, Kipp Martin Connect to the OSServer with OSSolverService At present, the OSSolverService takes the following parameters. The order of the parameters is irrelevant. Not all the parameters are required. However, if the solve or send service methods are invoked a problem instance location must be specified. -osil xxx.osil this is the name of the file that contains the optimization instance in OSiL format. It is assumed that this file is available in a directory on the machine that is running OSSolverService. If this option is not specified then the instance location must be specified in the OSoL solver options file. -osol xxx.osol this is the name of the file that contains the solver options. It is assumed that this file is available in a directory on the machine that is running OSSolverService. It is not necessary to specify this option. -osrl xxx.osrl this is the name of the file that contains the solver solution. A valid file path must be given on the machine that is running OSSolverService. It is not necessary to specify this option.

Optimization Services Robert Fourer, Jun Ma, Kipp Martin Connect to the OSServer with OSSolverService -serviceLocation url is the URL of the solver service. This is not required, and if not specified it is assumed that the problem is solved locally. -serviceMethod methodName this is the method on the solver service to be invoked. The options are solve, send, kill, knock, getJobID, and retrieve. The use of these options is illustrated in the examples below. This option is not required, and the default value is solve. -solver solverName Possible values for default OS installation are clp (COIN-OR Clp), cbc (COIN-OR Cbc), dylp (COIN-OR DyLP), and symphony (COIN-OR SYMPHONY). Other solvers supported (if the necessary libraries are present) are cplex (Cplex through COIN-OR Osi), glpk (glpk through COIN-OR Osi), ipopt (COIN-OR Ipopt), knitro (Knitro), and lindo LINDO. If no value is specified for this parameter, then cbc is the default value of this parameter if the the solve or send service methods are used.

Optimization Services Robert Fourer, Jun Ma, Kipp Martin Connect to the OSServer with OSSolverService -mps xxx.mps this is the name of the mps file if the problem instance is in mps format. It is assumed that this file is available in a directory on the machine that is running OSSolverService. The default file format is OSiL so this option is not required. -nl xxx.nl this is the name of the AMPL nl file if the problem instance is in AMPL nl format. It is assumed that this file is available in a directory on the machine that is -browser browserName this paramater is a path to the browser on the local machine. If this optional parameter is specified then the solver result in OSrL format is transformed using XSLT into HTML and displayed in the browser. -config pathToConfigureFile this parameter specifies a path on the local machine to a text file containing values for the input parameters. This is convenient for the user not wishing to constantly retype parameter values.

Optimization Services Robert Fourer, Jun Ma, Kipp Martin Examples (1)./OSSolverService -solver clp -osil./parincLinear.osil./OSSolverService –config./testlocalclp.config where testlocalclp.config looks like: -osil./parincLinear.osil -solver clp./OSSolverService –config./testlocal.config where testlocalclp.config looks like: -osil../data/osilFiles/parincQuadratic.osil -solver ipopt -serviceMethod solve -browser /Applications/Firefox.app/Contents/MacOS/firefox -osrl./test.osrl./OSSolverService –config./testlocalclp.config where testlocalclp.config looks like: -osol./demo.osol -solver clp../data/osilFiles/parincLinear.osil

Optimization Services Robert Fourer, Jun Ma, Kipp Martin Examples (2)./OSSolverService –config./testremote.config where testlocalclp.config looks like: -osil./parincLinear.osil -serviceLocation -serviceMethod send./OSSolverService -config.testremote.config -solver clp or by adding the line -solver clp to the testremote.config file../OSSolverService -osol./remoteSolve1.osol -serviceLocation where remoteSolve1.osol looks like: c:\parincLinear.osil ipopt

Optimization Services Robert Fourer, Jun Ma, Kipp Martin Usage Summary solve(osil, osol): – Inputs: a string with the instance in OSiL format and an optional string with the solver options in OSoL format – Returns: a string with the solver solution in OSrL format – Synchronous call, blocking request/response send(osil, osol): – Inputs: a string with the instance in OSiL format and a string with the solver options in OSoL format (same as in solve) – Returns: a boolean, true if the problem was successfully submitted, false otherwise – Has the same signature as solve – Asynchronous (server side), non-blocking call – The osol string should have a JobID in the element

Optimization Services Robert Fourer, Jun Ma, Kipp Martin Usage Summary getJobID( osol) – Inputs: a string with the solver options in OSoL format (in this case, the string may be empty because no options are required to get the JobID) – Returns: a string which is the unique job id generated by the solver service – Used to maintain session and state on a distributed system knock(ospl, osol) – Inputs: a string in OSpL format and an optional string with the solver options in OSoL format – Returns: process and job status information from the remote server in OSpL format retrieve( osol) – Inputs: a string with the solver options in OSoL format – Returns: a string with the solver solution in OSrL format – The osol string should have a JobID in the element kill( osol) – Inputs: a string with the solver options in OSoL format – Returns: process and job status information from the remote server in OSpL format – Critical in long running optimization jobs

Optimization Services Robert Fourer, Jun Ma, Kipp Martin Conclusion/User Experience Open Environment Convenience just like Using Utility Services No High Computing Power Needed No Knowledge in Optimization Algorithms and Software (solvers, options, etc.) Better and More Choices of Modeling Languages More Solver Choices Solve More Types of Problems Automatic Optimization Services Discovery Decentralized Optimization Services Development and Registration More Types of Optimization Services Components Integrated (Analyzers/Preprocessors, Problem Providers, Bench Markers) Smooth Flow and Coordination of Various Optimization Services Components. A Universal, Scalable and Standard Infrastructure that promotes Collaboration and Other Related Researches Concentration on Good Modeling

Optimization Services Robert Fourer, Jun Ma, Kipp Martin