Web браузърите бързо стават стандартен интерфейс за всичко - от електронните каталози до интранет приложенията. За прости web приложения може да е достатъчно наличието само на web сървър. За приложения с голям обем, за които може да е необходим достъп до база данни и обработка на транзакции, IBM предлага решения, които използват DB2 Connect за управление на много голям брой едновременни транзакции през web.
В този раздел са описани web-базираните бизнес решения, които може да спечелят от използването на DB2 Connect.
Приложенията за е-бизнес в World Wide Web обикновено използват интерфейса Common Gateway Interface (CGI), за да могат потребителите да отправят запитвания към бази данни. Освен това много компании използват вътрешни web приложения и те най-често са изградени върху база данни, която работи във фонов режим.
Потребителите попълват форми в web страница и ги предават чрез CGI към приложения или скриптове на web сървъра. От своя страна скриптът използва осигурения API за база данни, за да предаде SQL запитвания към хост база данни. Същият скрипт може след това да конструира web (HTML) страница с резултатите от запитването и да я изпрати обратно за представяне от web браузъра на потребителя. Например електронен каталог, в който потребителят може да отправи запитване за наличностите и текущата цена на определени стоки или услуги.
CGI приложенията може да са прости за проектиране и лесни за поддръжка. Тъй като CGI стандартът не зависи от операционната система и от езика, се предлага почти на всички компютърни платформи. CGI програми могат да се напишат на C++ или в език със скриптове като Perl.
Въпреки че CGI може да изглежда като идеалното решение за web-базирани приложения, има сериозни недостатъци. Средата за програмиране за CGI не е толкова комплексна, колкото другите API. Освен това има проблем със скалируемостта, който ще се отрази върху работата на електронна търговия с голям обем. При всяко обръщение към CGI приложение на web сървъра се създава нов процес. Всеки потребителски модел трябва да направи свое собствено свързване към базата данни и да изпрати свое собствено запитване. В обкръжения с голям обем на транзакциите това ограничение може да създаде значителни проблеми с производителността.
Можете да използвате DB2 Connect с web сървър, за да създадете стабилни приложения за електронна търговия с голям обем. DB2 Connect осигурява редица решения, които подобряват производителността на web-базираните приложения. Запомнените процедури (вижте DB2 Connect на Web сървър) позволяват на потребителите на DB2 Connect да намалят броя на запитванията, които се изпращат към базата данни.
Пулът на свързването (вижте Създаване на пул за връзките) намалява броя на свързванията и прекъсванията на връзката към и от база данни. При голямо натоварване, когато ограниченията на CGI стават съществени, вижте IBM Net.Data (вижте Net.Data) и WebSphere (вижте IBM WebSphere), които осигуряват свързване без CGI за приложения в големи предприятия.
IBM осигурява HTTP (Web) сървъри с всички DB2 Connect продукти за OS/2, UNIX, Windows NT и Windows 2000. DB2 Connect Enterprise Edition осигурява незабавна поддръжка, директно след изваждане от кутията, на web сървъри Apache или Lotus Domino и освен това може да работи с други web сървъри като Microsoft Internet Information Server или Netscape Enterprise Server.
Ако работите с база данни от DB2 фамилията върху OS/390, AS/400, VM и VSE системи, на Web сървъра трябва да имате DB2 Connect Enterprise Edition. DB2 Connect Enterprise Edition ще осигури библиотеките и комуникационните интерфейси, които да позволят на Web сървърите да имат достъп до тези хост и AS/400 платформи. Може да се използва TCP/IP или SNA за комуникация между Web сървъра и база данни, която работи върху OS/390, AS/400, VM или VSE.
Забележка: | Web решенията на IBM осигуряват възможността да се работи с няколко бази данни в рамките на един и същи CGI скрипт или в рамките на една и съща транзакция в CGI скрипт. |
В следващите два раздела са разгледани усъвършенстванията на производителността, достъпни за CGI програмите, които имат достъп до DB2 бази данни. По-нататък са разгледани алтернативите на стандартните CGI като Java.
Важно съображение за web приложенията, както при работа клиент/сървър, е да се намали до минимум трафика между HTTP сървъра и крайната база данни. Това съображение е особено важно при обработка на голям обем транзакции, което е основата за повечето приложения, свързани с електронния бизнес.
Препоръчваният подход е да се комбинира CGI приложно програмиране с програмирането и бизнес логиката, която се съдържа в запомнените процедури. DB2 Universal Database на OS/2, UNIX и Windows, както и DB2 на OS/390, AS/400 и VSE имат едни и същи правила за дефиниране на параметрите при извикване на запомнени процедури.
Както е обикновено при CGI, web браузърът предава форма към web сървъра, където се изпълнява CGI скриптът. Но вместо всеки отделен SQL израз да се изпраща към DB2 базата данни, се изпраща заявка за изпълнение на запомнена процедура. Тази запомнена процедура съдържа няколко SQL израза, които в противен случай щяха да се изпълняват отделно. Запомнените процедури намаляват броя на съобщенията, които се разменят между CGI скрипт и крайната база данни.
Основното им предимство е, че намаляват мрежовия трафик между HTTP сървъра и DB2 базата данни. За допълнителна информация за запомнените процедури се обърнете към Ръководство за разработка на приложения или електронната помощ за DB2 Stored Procedure Builder.
Установяването на връзка от DB2 Connect сървър към хоста изисква компютърни ресурси и време. В среда, в която хиляди клиенти често се свързват към хоста чрез DB2 Connect сървъра, се отделя значителна част от времето за установяване и прекъсване на свързването.
Създаването на пул за връзките на DB2 Connect осигурява значително увеличение на производителността при такива среди. DB2 Connect поддържа отворени връзките към базата данни в достъпния пул. Когато клиент заяви свързване, то може да се осигури от този пул с готови връзки. Създаването на пул за връзки значително намалява натоварването, което обикновено е необходимо при генериране и приключване на такива свързвания.
За допълнителна информация как се създава пул за връзки, вижте Пул за връзки.
Много от недостатъците на CGI може да се преодолеят, ако вместо тях се използва Java. IBM осигурява както аплети, така и приложения, които ви позволяват да използвате Java вместо CGI на всеки етап от web транзакциите. Решенията, осигурени от IBM, позволяват смесени техники, което означава, че можете да използвате процедурни решения като Net.Data и Microsoft Active Server Pages с DB2 или да се насочите към по-стабилните реализации, осигурени от Java сървър на приложения като IBM WebSphere.
Има два интерфейса за приложно програмиране (API- Application Programming Interfaces) за Java програмисти. Първият е JDBC и се поддържа за използване на Java при разработка на Java аплети за данни, Java приложения, както и Java servlet, Java страници на сървъри (JSP) и Enterprise Java Beans (EJB). JDBC е интерфейс за приложно програмиране на ниво обръщение или извикване на метод. Другият Java API е SQLJ. SQLJ дава възможност да се определи SQL в рамките на Java програма. При web транзакциите DB2 може да използва и двата вида API, както от страната на клиента, така и на сървъра.
За клиентските програми се поддържат аплети, аплети за данни и приложения. За страната на базата данни са предназначени обекти в базата данни, като дефинирани от потребителя функции и запомнени процедури.
При DB2 за OS/390, DB2 за VSE и VM и DB2 за OS/400 има два различни начина за развой на Java приложение. Можете да използвате директните възможности за свързване, осигурени от DB2 Connect Personal Edition с TCP/IP или SNA, или да изберете да преминете през DB2 Connect Enterprise Edition сървър, който осигурява възможност за свързване към мейнфрейм или AS/400 база данни.
И в двата случая за потребителя в Web не е необходим някакъв специален софтуер при достъп до базата данни, а само стандартен web браузър. Единствено трябва да е инсталиран DB2 Connect сървър и някакъв стандартен Web сървър. Ако web сървърът и DB2 Connect не са физически на един и същи компютър, на web сървъра трябва да е инсталиран DB2 клиент.
При DB2 за OS/390 основният компонент е DB2 Connect Enterprise Edition, който работи на междинния сървър. Това е компонентът, който ще добави функции на JDBC сървър към възможностите за свързване към DB2 за OS/390, VSE и VM или AS/400 сървър. Отново не е необходим никакъв специален софтуер за web браузъра на клиента.
IBM осигурява разширено множество от средства за разработка на Java приложения и аплети. За свързваемост към база данни пакетът за разработчици за DB2 осигурява пълен набор от средства, сред които VisualAge for Java Professional Edition, WebSphere Application Server, Net.Data, както и DB2 Universal Database и DB2 Connect за тестване. Освен това IBM VisualAge for Java Enterprise Edition съдържа средства за разработка на приложения за големи предприятия. Инструменти на други фирми като Borland JBuilder или Symantec Visual Cafe също работят с решенията за база данни на IBM.
Частта Net.Data на фамилията DB2 Universal Database и DB2 Connect е множество от средства за приложно програмиране, проектирани да ви помогнат при създаване и поддържане на приложения за web-базирани транзакции. Можете да използвате Net.Data при осъществяване на достъп и промяна на данни, съхранени на DB2 UDB за OS/2, Windows NT, Windows 2000, UNIX, OS/390, VM, VSE и OS/400. Приложенията, създадени с помощта на Net.Data, се съхраняват на web сървър и може да се активират чрез web браузър.
Net.Data използва макроси или образци, с които дори потребители само с повърхностно разбиране на HTML и SQL могат да създават сложни web приложения. Макросът е текстов файл, който може да е изграден от Java, Java Script, HTML и вградени функции. Тези макроси могат да се използват за генериране на динамични web страници с предварително дефиниран формат, променливи и функции.
Прост Net.Data макрос има седем отделни раздела:
Съществена характеристика на Net.Data, особено за DB2, е, че не е необходим специален софтуер за клиента. В тази реализация клиентът просто е web браузър.
Net.Data процесорът се инсталира заедно с DB2 Universal Database на Windows NT, Windows 2000, OS/2 или UNIX работна станция, заедно с Web сървър. При свързване към DB2 OS/390, DB2 за VSE и VM и 400 цялата инфраструктура на Net.Data се разполага на DB2 Connect сървър, заедно с Web сървър.
IBM WebSphere осигурява по-завършено решение за електронен бизнес, отколкото е възможно с традиционното CGI програмиране. WebSphere сървърите на приложения не само изпълняват процедурните възможности на CGI, но освен това ви позволяват да осигурите сложни и мощни услуги чрез web с помощта на аплети за сървъри, активни сървърни страници и JavaBeans. С WebSphere можете:
WebSphere не е един продукт, а фамилия от три продукта, предназначени за три различни пазара. Сърцевината на WebSphere решението е WebSphere сървърът на приложения.
WebSphere сървърът на приложения осигурява обкръжение за три типа обекти. Един е Java server pages, който е аналог на Active Server Pages. Вторият компонент се състои от Java servlet, а третият е промишлен JavaBeans. Промишлен JavaBeans е развиващ се стандарт за развой на много големи, стабилни приложения от промишлен клас.
Освен това Data Access JavaBeans осигурява комплексни функции за база данни, специално свързани за DB2. До DB2 може директно да се осъществи достъп чрез JDBC и SQLJ. Освен това се поддържат както COM+, така и CORBA.
WebSphere приложенията могат да се разполагат на същата платформа, както web сървъра и DB2 Universal Database. В случая с DB2 за OS/390, VM, VSE и AS/400, WebSphere се разполага на същата платформа като DB2 Connect Enterprise Edition.
Има редица WebSphere решения, като Web Studio и WebSphere Performance Packs. Трите версии на WebSphere са: