Introduction This Spring I partnered with an ASP.Net developer on a web application.  We collaborated on the analysis and design.  I wrote data manipulation.

Slides:



Advertisements
Similar presentations
Java Script Session1 INTRODUCTION.
Advertisements

Chapter 1: Introduction
DT211/3 Internet Application Development Active Server Pages & IIS Web server.
Building Applications using ASP.NET and C# / Session 1 / 1 of 21 Session 1.
1 Classic ASP vs. ASP.NET Technical Information and Market Adoption Lance Welker University of San Diego Dr. Rebman MSIT 526 December 20, 2005.
ASP.NET Programming with C# and SQL Server First Edition
ASP.NET Programming with C# and SQL Server First Edition Chapter 8 Manipulating SQL Server Databases with ASP.NET.
Chapter 7 Managing Data Sources. ASP.NET 2.0, Third Edition2.
Collaboration Suite Business Process Management
1 Chapter 20 — Creating Web Projects Microsoft Visual Basic.NET, Introduction to Programming.
Tutorial -01. Objective In this session we will discuss about : 1.What is MVC? 2.Why MVC? 3.Advantages of MVC over ASP.NET 4.ASP.NET development models.
Chapter 9 Interactive Multimedia Authoring with Flash - Introduction to Programming “Computers and Creativity” Richard D. Webster, COSC 109 Instructor.
Object Oriented Software Development
Tutorial: Introduction to ASP.NET Internet Technologies and Web Application 4 th February 2010.
ASP.NET INTRODUCTION INTO وزارة التربية و التعليم العالي كلية العلوم و التكنولوجيا قسم علوم الحاسوب و تكنولوجيا المعلومات اعداد الاستاذ: عبد الله محمد.
Joe Hummel, PhD Dept of Mathematics and Computer Science Lake Forest College
Configuration Management and Server Administration Mohan Bang Endeca Server.
Data-Enabled Web Sites: Classibooks.com & Internet Database Technologies Colin Fukai April 4, 2000 Gonzaga University.
A Level Computing#BristolMet Session Objectives U2#S6 MUST identify different data types used in programming aka variable types SHOULD describe each data.
Stimulsoft Reports.Net 20 Problems which Stimulsoft Reports.Net solves
1 VU. 2 CS101 Introduction to Computing Lecture 15 More on Interactive Forms (Web Development Lecture 5)
Introduction to JavaScript + More on Interactive Forms.
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
Elements of ASP Documents Adapted from MCDN Web Workshop ( and Webmonkey’s Introduction to Active.
Goals of Course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices.
IST 210: PHP BASICS IST 210: Organization of Data IST210 1.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Tutorial 7 Creating Forms. Objectives Session 7.1 – Create an HTML form – Insert fields for text – Add labels for form elements – Create radio buttons.
ASP.NET.. ASP.NET Environment ASP.NET is Microsoft's programming framework that enables the development of Web applications and services. It is an easy.
Universiti Utara Malaysia Chapter 3 Introduction to ASP.NET 3.5.
Matlab Basics Tutorial. Vectors Let's start off by creating something simple, like a vector. Enter each element of the vector (separated by a space) between.
UML based expert system generation Using Enterprise Architect to model and generate a web-based expert system.
Top Five Web Application Vulnerabilities Vebjørn Moen Selmersenteret/NoWires.org Norsk Kryptoseminar Trondheim
ASP/ASP.NET: Tricks and Tips How to get Microsoft’s Programming Language to work for you By Wade Tripp Park University
Introduction to PHP A user navigates in her browser to a page that ends with a.php extension The request is sent to a web server, which directs the request.
© Chinese University, CSE Dept. Distributed Systems / Simple Example Open Microsoft Visual Studio 2005:
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition.
Intro to PHP IST2101. Review: HTML & Tags 2IST210.
Introduction to JavaScript CS101 Introduction to Computing.
Chapter Six Introduction to Shell Script Programming.
Comparison of different output options from Stata
M1G Introduction to Programming 2 5. Completing the program.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
ASP. ASP is a powerful tool for making dynamic and interactive Web pages An ASP file can contain text, HTML tags and scripts. Scripts in an ASP file are.
Objective You will be able to define the basic concepts of object-oriented programming with emphasis on objects and classes by taking notes, seeing examples,
More about Java Classes Writing your own Java Classes More about constructors and creating objects.
1 PHP Intro PHP Introduction After this lecture, you should be able to: Know the fundamental concepts of Web Scripting Languages in general, PHP in particular.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
IST 210: PHP Basics IST 210: Organization of Data IST2101.
Part 1 The Basics of Information Systems. Purpose of Information Systems Information systems ◦ Collects, stores and organizes information ◦ Retrieves.
A S P. Outline  The introduction of ASP  Why we choose ASP  How ASP works  Basic syntax rule of ASP  ASP’S object model  Limitations of ASP  Summary.
Active Server Pages v.s. Java Server Pages Presenters: Lan Guo Qunying Fan Pei-Xun Wu Date:
Jim Fawcett CSE686 – Internet Programming Spring 2014
ASP.NET Programming with C# and SQL Server First Edition
BASIC PROGRAMMING C SCP1103 (02)
Basic Introduction to C#
CS 330 Class 7 Comments on Exam Programming plan for today:
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
Introduction to ASP By “FlyingBono” 2009_01 By FlyingBono 2009_01
BASIC PROGRAMMING C SCP1103 (02)
Introduction to Scripting
PHP / MySQL Introduction
Lesson 1: Introduction to Trifacta Wrangler
Web Development Using ASP .NET
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Chapter 7 Using SQL in Applications
An Introduction to JavaScript
ASP.NET Imran Rashid CTO at ManiWeber Technologies.
A Little Bit of Active Server Pages (ASP)
Presentation transcript:

Introduction This Spring I partnered with an ASP.Net developer on a web application.  We collaborated on the analysis and design.  I wrote data manipulation and analysis components in Dyalog APL.  The ASP developer did all the rest - presentation, communication, callbacks, scripting, etc.  Integrating APL with ASP was remarkably easy.  APL was exported as a dll and used just like any other .Net assembly. The application is a decision support tool for money managers to analyze portfolio performance.  Portfolio performance is measured by its rate of return.  For money managers, to paraphrase Vince Lombardi, performance is not the most important thing, it is the only thing.  Individual attention is given to accounts in order to optimize its return.  If a portfolio's return is poorer than expected, the manager needs to be aware, understand the cause, and take corrective action.  One important function of the application is the identification of performance outliers. The nature of the application and the details of the APL code are not important.  The main point is that APL does not need to do everything, that APL can be used just for what it is good at.  Furthermore, there is no difference in programming style and very little to learn about.  Following is a somewhat simplified but complete view of what it takes to write APL components for ASP.

A User Session A user session is organized into three steps, very loosely described as follows: 1)  Upload a file.  User selects a file and uploads it.  ASP passes the file to APL.  APL creates a standardized data set.   2) Select analysis options. ASP gets bits and pieces of the standardized data set from APL and builds an input form.  User fills in parameters on the form and sends it.  ASP passes the parameters to APL.  APL runs the appropriate analysis and adds the results to the data set. 3) Review the results. User requests a page of diagnostics.  ASP gets what it needs from APL and builds it.  User navigates to other pages.

A Less Than Brief Intro To APL Objects I managed to create APL objects without knowing (or learning) much about object-oriented programming.   APL programs and variables are termed methods and fields.  Methods and fields are contained in classes.  There are a few simple rules for writing and using classes.  The Dyalog Language Reference is a good primer for learning OOP.

  The APL Class There is just one APL class, called UserSession.  There are two essential public methods in the APL class; one creates the standardized data set, the other performs data analysis.  The rest of the public methods are all "get" methods which return items of the standardized data set. Although it is .Net compliant the APL class works, as is, with a Windows APL front end or from immediate execution.  Immediate execution mode makes for fast and painless unit and regression testing.  All that's needed are sample data files and a few scripts to exercise the tests. 

What ASP Needs From APL The APL workspace is exported (file/export) as a .Net assembly (.dll). Making APL methods (programs) compliant with .Net requires just one additional statement - Signature. Every public method needs a signature, which declares data type, e.g. a public APL method called GetGrid with a header of r←GetGrid (rows columns) with a signature of :Signature String[,]←GetGrid Int32[]  rows , Int32[] columns This discloses to .Net that there argument is two items, each, in APL terms, an integer vector, and the result is a nested matrix of text.  In turn the ASP developer can see, in Visual Studio, what all the public methods are in the dll, and the details of the signature of each.  If the cursor hovers over GetGrid the signature is shown, with the names "rows" and "columns". .Net requires one other statement in a class - the Using statement.  This defines a search path.  It seems that :Using System suffices.

Working In Immediate Execution Mode First thing is to create an instance of the object: TestSession←⎕new UserSession Next is to call Standardize.  Suppose we are working with data from "Source1": TestSession.Standardize 'Source1' Data 0 The 0 signifies that the call was successful.  So APL can use the UserSession class just like ASP does.  An entirely different front end could be written in Windows for a fat client version. When UserSession is used under immediate execution,  the :Using and :Signature statements are ignored.  These statements only matter to .Net. 

Conclusions .Net expands the possibilities of using APL for software and application development.  No more tired excuses about what APL cannot do. .Net has a tiny footprint in the APL code.  It is very easy to adapt to the constraints of .Net Very little knowledge of OOP is needed to write APL classes.  One can learn by experimentation. Immediate execution mode accelerates the learning, development, and testing cycles.