Magic eDeveloper Piotr Zawadzki konsultant Magic Komtech Sp. z o.o.

Slides:



Advertisements
Podobne prezentacje
Projekt Do kariery na skrzydłach – studiuj Aviation Management Projekt współfinansowany ze ś rodków Europejskiego Funduszu Społecznego. Biuro projektu:
Advertisements

Introduction to SystemC
Usługi sieciowe Wykład 9 VPN
Pomysł Sukces Wstępne rozwiązanie Symulacja Wynik zadowala? Poprawa rozwiązania Nie Tak Podstawowa pętla projektowania.
Analiza wywołania i przebiegu przerwań w systemie Linux
Java Server Faces Tomasz Nowak.
Jan Aleksander Wierzbicki
27/09/ Języki programowania 1 Piotr Górczyński Obsługa błędów.
Rekursja Teoretyczne podstawy informatyki Wykład 5
Dzielenie relacyjne / Relational Division
Ministerstwo Gospodarki Poland'sexperience Waldemar Pawlak Deputy Prime Minister, Minister of Economy March 2010.
WYZWALACZE (TRIGGERY) Wyzwalacz jest specjalnym rodzajem procedury składowanej, która może być wykonana w odpowiedzi na jedną z trzech sytuacji: UPDATE.
Łukasz Monkiewicz.
Współprogramy Plan: Motywacja Składnia Scenariusz obiektu współprogramu Przykłady Producent – konsument ( instrukcja attach ) Czytelnik -pisarze ( instukcja.
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Tworzenie aplikacji sieciowych w języku Java Networking Prezentacja.
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Tworzenie aplikacji sieciowych w języku Java Exceptions Prezentacja.
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Tworzenie aplikacji sieciowych w języku Java Threads Prezentacja.
Przykład włamania do aplikacji internetowej poprzez modyfikację zapytań SQL Skrypty ASP Serwer bazy danych MS SQL Server Piotr Kuźniacki BDi.
MS SQL SERVER udział w rynku. Source: Gartner Dataquest (May 2006) Company Market Share (%) Market Share (%) Growth (%) Oracle6, ,
DIRECT &INDIRECT QUESTIONS
MS ASP.NET 2005/2006
1 Building Integration System - Training Internal | ST-IST/PRM1 | 02/2008 | © Robert Bosch GmbH All rights reserved, also regarding any disposal,
Useful expressions Przydatne zwroty.
Tadeusz Janasiewicz IT Group, Tadeusz Janasiewicz, WSUS, IT Group, r.
Najpopularniejsze aplikacje ASP.NET i PHP.
Avaya IP Office - Wersja 8
Do you know who I am? Czy wiesz kim ja jestem Soy alguien con quien convives a diario Im somebody you live with every day.. Jestem kims z kim żyjesz.
SQL i internet PHP i MySQL. Programy MySQL: serverMySQL: server WWW serverWWW server Interpreter PHPInterpreter PHP Przeglądarka stron wwwPrzeglądarka.
YOUR PARTNER IN WIND ENERGY PROJECTS
Porysujmy trochę czyli Łączenie SQLa, AutoCADa i Delphi
Theory of Computer Science - Basic information
Zobaczysz zdjęcia z różnych hoteli, na których widnieją nazwy ludzi i przedmiotów, czynności oraz zwroty używane w hotelu. Zapisz je w zeszycie w następujący.
Damian Wojdan Kraków,
Global Financial Crisis and its Consequences for Polish Housing Market
ASP BAZY. 2.2 S. Wolek Wst. do Inf. Połączenie z bazą danych przez ADO (ActiveX Data Object) do: - źródła ODBC - bazy z podanie nazwy sterownika ODBC.
BLOOD DONATION.
Click to show the screen.
Wybrane dane statystyczne dotyczące przestępczości w Polsce DOKUMENTACJA ORAZ SPOSÓB WYKONANIA BAZY DANYCH W PROGRAMIE ACCESS.
Writing about my new house
The Grumpy Test If at least one of these pictures does not make you smile, then you are grumpy and need to go back to bed. Test na ponuraka Jak nie usmiechniesz.
Podstawy licencjonowania Exchange, SharePoint oraz Lync.
J AK ZACZĄĆ PRACĘ Z ?. przed rejestracją Upewnij się, że posiadasz: aktywne konto zainstalowaną przeglądarkę Internet Explorer indywidualny studencki.
Warsztaty C# Część 2 Grzegorz Piotrowski Grupa.NET PO
KINECT – czyli z czym to się je?. Damian Zawada
Sieci komputerowe. Nowe technologie komputerowe
Bazy danych.
A. Jędryczkowski – 2006 ©. Tablica to struktura danych zawierająca zbiór obiektów tego samego typu i odpowiada matematycznemu pojęciu wektora (tablica.
Pliki elementowe – A. Jędryczkowski © 2007 Turbo Pascal umożliwia wykorzystanie w programach plików elementowych. Pliki takie zawierają informację zakodowaną
Narzędzie wspomagające projektowanie aplikacji Proficy iFIX
Instrukcja logowania do Platformy E-Learningowej WSFiZ Instrukcja dla studentów.
IBM Tivoli Storage Manager Strojenie A Presentation by Paweł Krawczyk June 8, 2011.
HTML cz.3 Tabele cd. oraz ramki
Temat 1: Umieszczanie skryptów w dokumencie
Informacje podstawowe
Warsztaty użytkowników programu PLANS – Karwia06 Język makropoleceń JMP programu PLANS Część I mgr inż. Tomasz Zdun.
Instrukcje sterujące: W instrukcjach sterujących podejmowane są decyzje o wykonaniu tych czy innych instrukcji programu. Decyzje te podejmowane są w zależności.
Rozdział 3: Bezpieczeństwo w sieci opartej na systemie Windows 2000.
Magic Janusz ROŻEJ Komtech Sp. z o.o.
Komtech Sp. z o.o. Magic Janusz ROŻEJ.
Magic Janusz ROŻEJ Komtech Sp. z o.o.
ASP BAZY DANYCH. 2 S. Wolek Wst. do Inf. Połączenie z bazą danych przez ADO (ActiveX Data Object) do: - źródła ODBC - bazy z podanie nazwy sterownika.
1.
Department | 1/11/2013 | © Robert Bosch GmbH All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution,
Piotr Czapiewski Wydział Informatyki ZUT.  Extensible Markup Language  Język znaczników  Human-readable and machine-readable  Niezależny od platformy.
POLISH FOR BEGINNERS.
Wydział Elektroniki Kierunek: AiR Zaawansowane metody programowania Wykład 5.
1 SBD, L.Banachowski Zaawansowane cechy SQL Powtórzenie wyk ł adu 5.
Podstawy programowania (4)
1 SBD, L.Banachowski Oprogramowanie strony serwera cz. 1 Powtórzenie wyk ł adu 6.
© 2014 IBM Corporation COMMON POLSKA 2014 JDBC z IBM System i Tomasz Piela & Marcin Wilk Global Technlonogy Services, IBM.
Zapis prezentacji:

Magic eDeveloper Piotr Zawadzki konsultant Magic Komtech Sp. z o.o.

Plan prezentacji Wprowadzenie do Magic eDeveloper Obszary zastosowań Obsługiwane platformy i bazy danych Proces tworzenia aplikacji Komponenty Serwer aplikacji Podsumowanie Live Demo Wprowadzenie do Magic eDeveloper Obszary zastosowań Obsługiwane platformy i bazy danych Proces tworzenia aplikacji Komponenty Serwer aplikacji Podsumowanie Live Demo

Czym jest platforma Magic eBusiness? Rewolucyjna podstawa do projektowania, tworzenia i rozwoju kompleksowych rozwiązań Klient/Serwer, eBusiness oraz CRM szybciej niż jakakolwiek inna technologia dostępna obecnie na rynku

Obszary zastosowań Pomost integracyjny Przetwarzanie danych Raporty eBusiness mBusiness

Platformy: Windows 9x/ME/NT/2000/XP UNIX Linux iSeries (AS/400) Bazy danych: Oracle MS SQL Informix Pervasive.SQL ODBC DB2 Obsługiwane platformy

Tworzenie aplikacji Tradycyjny model tworzenia aplikacji Analiza Przyrostowy w Magic eDeveloper Projektowanie Prototypowanie Testowanie i Modyfikacja Uruchomienie Projekt Kodowanie Kompilacja Testowanie Uruchomienie Analiza Biznesowa

Tworzenie aplikacji polega na wypełnianiu wzajemnie połączonych tabel wartościami, które zostały zdefiniowane na wcześniejszym etapie tworzenia systemu Modele Tabele Programy Proces tworzenia aplikacji

Cykl dzia ł ania zadania Prefiks Sufiks 1 Pobierz pierwszy rekord 2 Sprawdź EOF 3 Otwórz Transakcję 4 1 Pobierz pierwszy rekord 2 Sprawdź EOF 3 Otwórz Transakcję 4 Główny 1 Select 2 Select 3 Select 4 Select 1 Select 2 Select 3 Select 4 Select Pętla Rekordu Pętla Zadania Otwórz pliki 3 Przygotuj Data View 4 Sortuj dane lub wybierz indeks 1 2 Otwórz pliki 3 Przygotuj Data View 4 Sortuj dane lub wybierz indeks Zamknij pliki Zamknij pliki Porównaj, zalokuj, uaktualnij rekord 2 Zamknij Transakcję 3 Sprawdź EOF 1 Porównaj, zalokuj, uaktualnij rekord 2 Zamknij Transakcję 3 Sprawdź EOF Programista musi jedynie określić operacje logiczne, które motor Magica ma wykonać na DANYCH

Etap3GL4GLeDeveloper 1Projektowanie Prototyp 100%50%25-35% 2Tworzenie100%50%15-25% 3Integracja Uruchomienie 100%50%20-35% 4Utrzymanie Rozwój 100% % 15-25% Źródło: Magic Marketing Cykl tworzenia systemu

Interaktywne aplikacje WEB – eDeveloper Browser Client Inteligentny klient – zdarzenia – odświeżenie Data View – sprawdzenie warunków – wykonywanie operacji i funkcji Magica – obsługa transakcji – lokalnie przechowywane dane – jeden aplet Javy Przeglądarka Internetowa + Magic Aplet Javy =

Porówanie kodów Jak można wykonać poniższe? –Eksport danych z baz SQL Visual Basic czy eDeveloper? –eCommerce Order-entry dla Duty-Free Shop Java czy eDeveloper? –Strona domowa dla Virtual Plant Shop Lansa czy eDeveloper?

Dim record As Recordset Dim nI As Long Dim nJ As Long Dim nFile As Integer Dim sTmp As String On Error GoTo Err_Handler Set record = db.OpenRecordset (sSQL, DAO.dbOpenDynaset DAO.dbReadOnly) ' *** Open output file nFile = FreeFile Open sDest For Output As #nFile ' *** Export fields name For nI = 0 To record.Fields.Count - 1 sTmp = "" & (record.Fields(nI).Name) Write #nFile, sTmp; ' *** Export fields name For nI = 0 To record.Fields.Count - 1 sTmp = "" & (record.Fields(nI).Name) Write #nFile, sTmp; Next Write #nFile, If record.RecordCount > 0 Then record.MoveLast record.MoveFirst For nI = 1 To record.RecordCount For nJ = 0 To record.Fields.Count - 1 sTmp = "" & (record.Fields(nJ)) Write #nFile, sTmp; Next Write #nFile, record.MoveNext Next End If Close #nFile CSVExport = True Exit Function Err_Handler: MsgBox ("Error: " & Err.Description) CSVExport = False End Function Visual Basic Eksport danych z bazy SQL Definicja Data ViewEksport do pliku ASCII Magic eDeveloper

eCommerce Order-Entry Nagłówek zamówienia Tabela produktów

eCommerce Order-Entry (1) Definicja Nagłówka zamówienia Nagłówek Produkty

eCommerce Order-Entry (2) 1.Wyświetlenie produktów - umożliwia również ich modyfikację 2. Przy wyjściu z danego produktu – Uaktualnienie całego zamówienia 3. Podwójne kliknięcie na produkcie - Call program do wyboru produktu Nagłówek Produkty

Kod Javy - eCommerce Order-Entry Nagłówek Produkty

Nagłówek Produkty i więcej kodu Javy...

Strona główna dla Virtual Plant-Shop

eDeveloper – strona główna Plant-Shop Każdy odnośnik na stronie wywołuje osobny program

Lansa 4GL – strona główna Plant-Shop ENDIF ELSE /* Continued Job */ ********** Get User Info FETCH FIELDS((#FRU_JOBUS) (#FRU_JOBPW)) FROM_FILE(FRUJOBID) WITH_KEY(#FRU_JOBID) ENDIF ********** Set Title (If signed-in, persoanlize the Title) IF COND('#FRU_JOBUS *EQ *BLANK') CHANGE FIELD(#FRU_CMNT1) TO('''Welcome to Plants 4 U''') ELSE FETCH FIELDS((#FRU_USRID)) FROM_FILE(FRUUSER) WITH_KEY(#FRU_JOBUS) USE BUILTIN(TCONCAT) WITH_ARGS(#FRU_USRID ''', enjoy your stay at Plants 4 U''') TO_GET(#FRU_CMNT1) ENDIF ********** Create today's look of the page SELECT FIELDS((*ALL)) FROM_FILE(P4USTYLE) LEAVE IF('#DAY *LT #P4U_NEWDY') ENDSELECT ENDROUTINE FUNCTION OPTIONS(*DIRECT *WEBEVENT) ********** EXECUTE SUBROUTINE(USER_INFO) EXECUTE SUBROUTINE(GET_ORDERS) EXECUTE SUBROUTINE(GET_CART) ********** Retrieve Monthly tip and special FETCH FIELDS((*ALL)) FROM_FILE(P4UMONTH) WITH_KEY(#MONTH) FETCH FIELDS((#PACKDES)) FROM_FILE(PACKTAB) WITH_KEY('ENG' #PACKTYP) ********** DISPLAY FIELDS((#FRU_IMGUP) (#COMMONNM) (#PLANTTIP) (#FRU_CMNT1) (#DAY *HIDDEN) (#FRU_JOBID *HIDDEN) (#P4U_NEXTF *HIDDEN)) EXIT_KEY(*NO) MENU_KEY(*NO) PROMPT_KEY(*NO) SUBROUTINE NAME(USER_INFO) FETCH FIELDS((*ALL)) FROM_FILE(P4USYS) IF COND('#FRU_JOBID *EQ *BLANK') /* New Job */ ********** Update JobId file CHANGE FIELD(#FRU_JOBID) TO(*LW3SESSIONID) CHANGE FIELD(#FRU_JOBUS #FRU_JOBPW) TO(*BLANK) INSERT FIELDS((*ALL)) TO_FILE(FRUJOBID) ********** Update LANSA Web Site counter CHANGE FIELD(#LWS_HITDT) TO(*YYMMDD) CHANGE FIELD(#LWS_HITKW) TO('Plants 4 U Newspaper Main Page') FETCH FIELDS((#LWS_HITNO)) FROM_FILE(LWSHITS) WITH_KEY(#LWS_HITKW #LWS_HITDT) IF_STATUS IS(*OKAY) CHANGE FIELD(#LWS_HITNO) TO('#LWS_HITNO + 1') UPDATE FIELDS((#LWS_HITNO)) IN_FILE(LWSHITS) ELSE CHANGE FIELD(#LWS_HITNO) TO(1) INSERT FIELDS((*ALL)) TO_FILE(LWSHITS) ********** Subroutine....: GET_ORDERS ********** Description....: Get User's Order Totals ********** ============================= SUBROUTINE NAME(GET_ORDERS) ********** If User not signed-in, display sign-in component IF COND('#FRU_JOBUS *EQ *BLANK') CHANGE FIELD(#FRU_COMP1) TO('FRU_NEWS05') ELSE /* User is Signed in */ CHANGE FIELD(#FRU_ORDQT) TO(0) ********** Retrieve Order totals SELECT FIELDS((#ORDTOT)) FROM_FILE(PORDSTS) WITH_KEY(#FRU_JOBUS #FRU_JOBPW) CHANGE FIELD(#FRU_ORDQT) TO('#FRU_ORDQT + 1') ENDSELECT CHANGE FIELD(#FRU_COMP1) TO('FRU_NEWS04') ENDIFENDROUTINE ********** Subroutine....: GET_CART ********** Description....: Get Shopping Cart Totals ********** ==================================================== === SUBROUTINE NAME(GET_CART) ********** Total up the number and amount of shopping cart CHANGE FIELD(#FRU_SHPQT #FRU_SHPTL) TO(0) SELECT FIELDS((#PRICE) (#QTY)) FROM_FILE(PORDER) WITH_KEY(#FRU_JOBID) CHANGE FIELD(#FRU_SHPQT) TO('#FRU_SHPQT + #QTY') CHANGE FIELD(#FRU_SHPTL) TO('#FRU_SHPTL + (#PRICE * #QTY)') ENDSELECT ENDROUTINE ********** End of RDML commands **********

Plants 4 U <!-- function SetButton(btnvalue) { document.LANSA._BUTTON.value = btnvalue; } function HandleSubmit() { document.LANSA.submit(); } function pathOnly(InString) { LastSlash=InString.lastIndexOf('/',InString.length-1); OutString=InString.substring(0,LastSlash+1); return(OutString); } function RDML() { var ref = pathOnly(location.href); var lweb = "LANSAWEB?PROCFUN+FRUPROC60+FRU6010+WEB+ENG +FUNCPARMS+FRU_FUNC(A010):NEW0101"; var opt = "width=640,height=400,directories=no,toolbar=no,"; var win; opt += "menubar=no,scrollbars=yes,resizable=yes"; ref += lweb; win = window.open(ref,"ViewCode", opt); } function SetSelect(HTMLName, Name,Row,Column,Select) { document.LANSA._SELECT.value=Select; SetNameLocation(Name,Row,Column); document.LANSA._CALFLD.value=HTMLName; return; } function SetNameLocation(Name,Row,Column) { document.LANSA._NAME.value=Name; document.LANSA._ROW.value=Row; document.LANSA._COLUMN.value=Column; document.LANSA._CALFLD.value=Name; return; } function HandleEvent(Proc,Func) { document.LANSA._PROCESS.value=Proc; document.LANSA._FUNCTION.value=Func; document.LANSA.submit(); } function NextFunction(Function) { document.LANSA.AP4U_NEXTF.value=Function; HandleEvent('FRUPROC30', 'FRU3001') } function ViewDetail(Number) { document.LANSA.PFRU_RBNBR.value=Number; HandleEvent('FRUNEWS01', 'NEW0111'); } function NextButton(Mode) { document.LANSA.AMODE.value=Mode; HandleEvent('FRUNEWS01', 'NEW0112'); } function PopUp(Proc, Func, Menu, Title) { var lweb = " var opt = "width=600,height=400,scrollbars=yes,resizable=yes,directories=no"; var Plus = "+" var win; lweb += Proc + Plus + Func; lweb += "+WEB+ENG"; if (Menu == "Y") opt += ",toolbar=yes,menubar=yes,status=yes"; else opt += ",toolbar=no,menubar=no,status=no"; win = window.open(lweb,"Title",opt); } function NextLook() { if (document.LANSA.SDAY.value >= 24) document.LANSA.SDAY.value = 1; else document.LANSA.SDAY.value = Math.abs(document.LANSA.SDA Y.value) + 8; HandleEvent('FRUNEWS01', 'NEW0101'); } function NextMonth() { if (document.LANSA.SMONTH.value == 12) document.LANSA.SMONTH.value=1; else document.LANSA.SMONTH.value = Math.abs(document.LANSA.SMON TH.value) + 1; HandleEvent('FRUNEWS01', 'NEW0101'); } function Feedback() { var ref = pathOnly(location.href); var lweb = "LANSAWEB?PROCFUN+FRUPROC70+FRU7010+WEB+ENG+F UNCPARMS+FRU_JOBID(A024):L03990A3E DA051+FRU_FEEDC(A00 7):NEW0101"; var opt = "width=540,height=350,directories=no,toolbar=no,"; var win; opt += "menubar=no,scrollbars=yes,resizable=yes"; ref += lweb; win = window.open(ref,"Feedback", opt); } HTML & JavaScript dla strony głównej Plant-Shop

// --> <FORM METHOD="POST" NAME="LANSA" ACTION="/CGI-BIN/ LANSAWEB?WEBEVENT+L03990A3E DFA051+WEB+ENG"> <!-- if (((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 3 )) || ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4 ))) {p4u_1on = new Image(); p4u_1on.src = "/images/p4usrch2.gif"; p4u_1off = new Image(); p4u_1off.src = "/images/p4usrch1.gif"; p4u_2on = new Image(); p4u_2on.src = "/images/p4ucart2.gif"; p4u_2off = new Image(); p4u_2off.src = "/images/p4ucart1.gif"; p4u_3on = new Image(); p4u_3on.src = "/images/p4ucout2.gif"; p4u_3off = new Image(); p4u_3off.src = "/images/p4ucout1.gif"; p4u_4on = new Image(); p4u_4on.src = "/images/p4uords2.gif"; p4u_4off = new Image(); p4u_4off.src = "/images/p4uords1.gif"; p4u_5on = new Image(); p4u_5on.src = "/images/p4ugary2.gif"; p4u_5off = new Image(); p4u_5off.src = "/images/p4ugary1.gif"; bar_0on = new Image(); bar_0on.src = "/images/p4ubar0b.gif"; bar_0off = new Image(); bar_0off.src = "/images/p4ubar0a.gif"; bar_1on = new Image(); bar_1on.src = "/images/p4ubar1b.gif"; bar_1off = new Image(); bar_1off.src = "/images/p4ubar1a.gif"; bar_2on = new Image(); bar_2on.src = "/images/p4ubar2b.gif"; bar_2off = new Image(); bar_2off.src = "/images/p4ubar2a.gif"; bar_3on = new Image(); bar_3on.src = "/images/p4ubar3b.gif"; bar_3off = new Image(); bar_3off.src = "/images/p4ubar3a.gif"; bar_4on = new Image(); bar_4on.src = "/images/p4ubar4b.gif"; bar_4off = new Image(); bar_4off.src = "/images/p4ubar4a.gif"; bar_5on = new Image(); bar_5on.src = "/images/p4ubar5b.gif"; bar_5off = new Image(); bar_5off.src = "/images/p4ubar5a.gif"; bar_6on = new Image(); bar_6on.src = "/images/p4ubar6b.gif"; bar_6off = new Image(); bar_6off.src = "/images/p4ubar6a.gif"; } function image_on(imgName) { imgOn = eval(imgName + "on.src"); document.LANSA [imgName].src = imgOn; } function image_off(imgName) { imgOff = eval(imgName + "off.src"); document.LANSA [imgName].src = imgOff; } if (window != window.top) top.location.href = location.href; // --> <INPUT NAME="_NAME" TYPE="HIDDEN" SIZE=20 MAXLENGTH=20 VALUE="&NULL"> <INPUT NAME="_ROW" TYPE="HIDDEN" SIZE=2 MAXLENGTH=2 VALUE="01"> <INPUT NAME="_COLUMN" TYPE="HIDDEN" SIZE=2 MAXLENGTH=2 VALUE="01"> <INPUT NAME="LFRU_JOBID" TYPE="HIDDEN" SIZE="024" MAXLENGTH="024" VALUE="L03990 A3E DA051"> < B>Shopping Cart Status <IMG SRC="/images/p4u _cart.gif" ALIGN=LEFT HSPACE=0 VSPACE=0 BORDER=0> Currently, you have 0 items totaling $0.00. Welcome to Plants 4 U <A HREF=" onMouseover="image_on('bar_0') ; window.status='Framed Version of Plants 4 U' ; return true" // --> <FORM METHOD="POST" NAME="LANSA" ACTION="/ CGI-BIN/LANSAWEB?WEBEVENT+L03990A3E DFA051+WEB+ENG"> <!-- if (((navigator.appName == "Netscape") && (parseInt(navi gator.appVersion) >= 3 )) || ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4 ))) {p4u_1on = new Image(); p4u_1on.src = "/images/p4usrch2.gif"; p4u_1off = new Image(); p4u_1off.src = "/images/p4usrch1.gif"; p4u_2on = new Image(); p4u_2on.src = "/images/p4ucart2.gif"; p4u_2off = new Image(); p4u_2off.src = "/images/p4ucart1.gif"; p4u_3on = new Image(); p4u_3on.src = "/images/p4ucout2.gif"; p4u_3off = new Image(); p4u_3off.src = "/images/p4ucout1.gif"; p4u_4on = new Image(); p4u_4on.src = "/images/p4uords2.gif"; p4u_4off = new Image(); p4u_4off.src = "/images/p4uords1.gif"; p4u_5on = new Image(); p4u_5on.src = "/images/p4ugary2.gif"; p4u_5off = new Image(); p4u_5off.src = "/images/p4ugary1.gif"; bar_0on = new Image(); bar_0on.src = "/images/p4ubar0b.gif"; bar_0off = new Image(); bar_0off.src = "/images/p4ubar0a.gif"; bar_1on = new Image(); bar_1on.src = "/images/p4ubar1b.gif"; bar_1off = new Image(); bar_1off.src = "/images/p4ubar1a.gif"; onMouseout = "image_off('bar_0') ; window.status='' ; return true"> <A HREF="JavaScript:PopUp('FRUPROC60', 'FRU6015', 'Y', 'Site Tour')" onMouseover="image_on('bar_1') ; window.status='View the Site Tour' ; return true" onMouseout = "image_off('bar_1') ; window.status='' ; return true"> <A HREF="JavaScript:PopUp('FRUPROC60', 'FRU6050', 'Y', 'Features')" onMouseover="image_on('bar_2') ; window.status='Check out our Features Page' ; return true" onMouseout = "image_off('bar_2') ; window.status='' ; return true"> <A HREF="JavaScript:PopUp('FRUPROC60', 'FRU6060', 'Y', 'Starter Pack')" onMouseover="image_on('bar_3') ; window.status='Check out our Starter Pack applications' ; return true" onMouseout = "image_off('bar_3') ; window.status='' ; return true"> <A HREF="JavaScript:PopUp('FRUPROC60', 'FRU6040', 'N', 'Whats New')" onMouseover="image_on('bar_4') ; window.status='Check out the Whats New page' ; return true" onMouseout = "image_off('bar_4') ; window.status='' ; return true"> <A HREF="JavaScript:Feedback()" onMouseover="image_on('bar_5') ; window.status='Send us Feedback' ; return true" onMouseout = "image_off('bar_5') ; window.status='' ; return true"> <A HREF=" onMouseover="image_on('bar_6') ; window.status='LANSA Web Site' ; return true" onMouseout = "image_off('bar_6') ; window.status='' ; return true"> iwięcej kodu HTML i JavaScript... i więcej kodu HTML i JavaScript...

<A HREF="JavaScript:HandleEvent('FRUNEWS01', 'NEW0103')" onMouseover="image_on('p4u_1') ; window.status='Search the Plants 4 U catalog' ; return true" onMouseout = "image_off('p4u_1') ; window.status='' ; return true"> <IMG SRC="/images/p4usrch1.gif" ALIGN=CENTER BORDER=0 NAME="p4u_1" A LT="Search the Plants 4 U catalog"> <A HREF="JavaScript:HandleEvent('FRUNEWS01', 'NEW0110')" onMouseover="image_on('p4u_2') ; window.status='View the items in your Shopping Cart' ; return true" onMouseout = "image_off('p4u_2') ; window.status='' ; return true"> <IMG SRC="/images/p4ucart1.gif" ALIGN=CENTER BORDER=0 NAME="p4u_2" ALT ="View the items in your Shopping Cart"> <A HREF="JavaScript:HandleEvent('FRUNEWS01', 'NEW0108')" onMouseover="image_on('p4u_3') ; window.status='Check out and pay for your order' ; return true" onMouseout = "image_off('p4u_3') ; window.status='' ; return true"> <IMG SRC="/images/p4ucout1.gif" ALIGN=CENTER BORDER=0 NAME="p4u_3" ALT= Check out and pay for your order"> <A HREF="JavaScript:HandleEvent('FRUNEWS01','NEW0111')" onMouseover="image_on('p4u_4') ; window.status='Check the status on a previous order' ; return true" onMouseout = "image_off('p4u_4') ; window.status='' ; return true"> <IMG SRC="/images/p4uords1.gif" ALIGN=CENTER BORDER=0 NAME="p4u_4" ALT="Check the status on a previous order"> <A HREF="JavaScript:HandleEvent('FRUNEWS01','NEW0112')" onMouseover="image_on('p4u_5') ; window.status='Ask Gary a question' ; return true" onMouseout = "image_off('p4u_5') ; window.status='' ; return true"> <IMG SRC="/images/p4ugary1.gif" ALIGN=CENTER BORDER=0 NAME="p4u_5" ALT="Ask Gary a question"> <FONT FACE="Arial" SIZE=2 COLOR= WHITE> Find all your needs with Plants 4 U <IMG ALIGN=LEFT SRC="/IMAGES/FRU_FBED3. JPG" HSPACE=0 VSPACE=0>Thinking about replanting your flower garden? Let Plants 4 U find all of the flowers you desire. For a quick search, choose a flower type and click t he Search button. Daisy Lilies Orchid Rose Tulip <INPUT TYPE="BUTTON" NAME="&USER1" VALUE="Search" onClick="HandleEvent('FRUNEWS01,'NEW0104')"> Plants 4 U offer a variety of search criteria. For a more detailed search, click <A HREF="JavaScript:Handl eEvent('FRUNEWS01', 'NEW0103')">here now. <FONT FACE="Arial" SIZE=2 COLOR=WHITE > Today's Tip <IM G SRC="/IMAGES/FRUFLASH.GIF" ALIGN=LEFT BORDER=0> By January, houseplants need a littls change in their environment, such as more light and humidity. If a nice sunny warm day comes along, set the plants under indirect sunlight on the porch or patio. For more hints and tips for this month, as well as other months, just Ask Gary. <TABLE BORDER=0 CELLSPACING=0 CELL PADDING=0> Gardening <IMG SRC ="/images/p4usbar.gif"> <A HREF="JavaScript:HandleEvent('FRUNEWS01','NEW0112 ')"> Do you have a lot of questions about your plants? Need them answered? Help is on the way! < A HREF="JavaScript:HandleEvent('FRUNEWS01','NEW0112')">Ask Gary and he will lend you a helping hand! <IMG SRC="/images/p4ufbar.gif "> Sign In <IMG SRC= "/images/p4usbar.gif"> <IMG SRC="/imag es/p4ulock.gif " ALIGN=LEFT HSPACE=0 VSPACE=0 BORDER=0> If you <A HREF= JavaScript:NextFunction('NEW0101')">Sign In now, you will gain full access to the Plants 4 U demonstration site. Today's Special <IMG SRC ="/images/p4usbar.gif"> <FONT FACE="Arial " SIZE=2> Flower: &nbsp FOREVER RED Price: &nbsp$ for EACH Buy Me! <INPUT TYPE="BUTTON" NAME="Add" VALUE="Add to Cart onClick="HandleEvent('FRUNEWS01','NEW0102')"> <FONT COLOR="DARKGREEN > LANSA gives your Home Page a new look every week. Automatically! <A HREF="JavaScript:NextLook()">Click here to see the new look. LANSA< /B> promotes a new Special Offer every month. Automatically! Click here to see the new special. <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="100%"> <A HREF= target="_blank"><IMG BORDER=0 SRC= "/IMAGES/Ebim_sc.gif" ALT="e-Business Mark"> <A HREF= target="_blank">Click for IBM Mark meaning and disclaimers. IBM and e-business Mark are TM's of IBM Corp. <IMG BORDER=0 SRC="/IMAGES/LANLOGO.GIF" ALT="LANSA"> To wszystko bez kodu RPG! i jeszcze więcej kodu HTML i JavaScript...

Podsumowanie Szybkość tworzenia i utrzymania istniejących aplikacji Przenaszalność miedzy platformami i bazami danych Komponenty Magic Browser Client Skalowalność dopasowana do potrzeb Zgodność ze standardami J2EE, XML, WEB Services COM, ActiveX, EJB, JAVA

Przykładowa konfiguracja Przeglądarka WWW Internet Linux Apache Magic Requester Magic Request Broker Serwery Aplikacji HP-UX Baza danych Strona HTML ORACLE WINDOWS

Dziękuję za uwagę Piotr Zawadzki konsultant Magic