Service, COM or ISAPI ?

10 отговора 377 прегледа
#1

Service, COM or ISAPI ?

Здравейте,

Боря се с Web-based Control Panel за администриране на Win2к adv server който се ползва за хостинг (IIS, FTP, DNS, DB, Secutiry, Email, Stats etc.) С основната библиотека (функциите които дефакто правят нещата) съм почти готов. Системата е комбинация от asp което си комуникира с компилиран модул на сървъра. Сега въпроса е как да реализирам този модул. Вариантите ми са следните :
- NT Service (mul. threaded) - това е варианта, който ползвам в момента. Имам начин от asp script-a да му подавам заявки и той да върши работата като връща резултат. По книгите пише че на еднопроцесорна машина не се препоръчва създаване на повече от 16 threads, а при мен може да се случи да имам и >30 конкурентни заявки...
- ASP Component - звучи много културно, но честно казано не съм наясно при много конкурентни инстанции как ще е като памет и процесорно време...
- ISAPI DLL - ще е малко по хамалско от COMa обаче ако е добро за целта...

Та моля, кажете си мнението... кой от вариантите е най-оптимален в случая.
Предварително благодаря !

Отговор
в отговор на CravisDotCom #2

Re: Service, COM or ISAPI ?

Az imam COM s okolo 50-100 konkurentni sesii i raboti bez prolem, hem da si priznaja, kato go pravih hich ne biah najasno sto e to COM ;-)
Sas service ne znam ama spored men ne bi sledvalo da imash problem s okolo 30-50 konkurentni sesii(zavisi kakvo pravish de)
Sas ISAPI hich ne sam se probval ama kato gledam eBAY si imat nekav ISAPI modul ta si mislia che moze i da e dobre, ama az naistina ne sam zapoznat s vaprosa.

Отговор
в отговор на CravisDotCom #3

Re: Service, COM or ISAPI ?

ISAPI е най-добре ако критерият е натоварване с конкурентни сесии.

don't waste my time - waste yours !
Отговор
в отговор на CravisDotCom #4

Re: Service, COM or ISAPI ?

Spored men nai dobre e COM+!
Problema s servica e che ako imash bug resource ili mem leak sled izvestno vreme NT-to ste se ogrobi. Osven tova traibva da pishesh multithreading koeto ne e tolkova lesno, za da e efektivno traibva da pravish thread pooling, completion ports etc. ISAPI ste e nai burzo, no ako iskash funcionality nai dobre e COM+.

Отговор
в отговор на Пpaco... #5

Re: Service, COM or ISAPI ?

syshto spored men e naj dobre s com+, oshte poweche che mogesh da mu zadawash kakyw da e nishkowiqt model, single, apartment, ....
I bi trqbwalo da nqmash nikakwi problemi edinstweno mogesh da beresh qd sys sinhroniziraneto ako se nalaga...

JAVA lets make things badly and slow!!
Отговор
в отговор на CravisDotCom #6

Re: Service, COM or ISAPI ?

Iskash da kazhesh, che >30 usera shte administrirat ednovremenno servera, pravilno li te razbrah?
S kakav ezik/tehnologiq si realiziral bibliotekata s osnovnata funkcionalnost?
Kade pazish sastoqnieto - v baza danni li?
Ot ASP-to mozhe da vikash COM componenti - ne mi e qsno po kakav drug nachin bi mogal da realizirash komunikaciqta s ne-ASP kod. Saotvetno chast ot tezi componenti mozhe da sa realizirani kato service, ako trqbva da pazish slozhno run-time sastoqnie, napr. cache sas slozhni strukturi danni ili nqkoi formi na asinhronno izpalnenie na zaqvkite. V tozi sluchai shte izrazhodvash procesorno vreme za mezhduprocesna komunikaciq.
Pri vsichki sluchai komponentite, koito shte vikash ot ASP-to, trqbva da badat stateless, za da se postigne dobra skaliruemost. S drugi dumi, sastoqnieto im trqbva da se pazi izvan tqh, t.e. v session obekta ili baza danni i t.n. i zhivotat na edna instanciq se ogranichava do izpalnenieto na edna zaqvka ot ASP-to.
Dali shte pozvash dopalnitelnite vazmozhnosti na MTS/COM+ veche zavisi ot konkretnite osobenosti na prilozhenieto.
ISAPI-to ot ASP bi mogal da go polzvash samo s redirectvane, t.e. celiq HTML shte trqbva da si go generirash v ISAPI DLL-a.

Отговор
в отговор на Architect #7

Re: Service, COM or ISAPI ?

Iskash da kazhesh, che >30 usera shte administrirat ednovremenno servera, pravilno li te razbrah?
Статистиката ми е, че ако хоствам 200 сайта на един сървър, към даден момент имам 5, макс.10 юнака на FTP-то. ще ми се да се презастраховам, затова да ги кажем 30 през Control Panela. Също така ми се ще, да хоствам Control Panela само на един сървър а той да администрира другите машини remotely.

S kakav ezik/tehnologiq si realiziral bibliotekata s osnovnata funkcionalnost?

Delphi. Повечето неща не са времеемки. напр. за FTP Servera само ровя по cfg файлове и му казвам да се рефрешне. Единственото нещо което е лакомо за ресурси е администрирането на IIS... там просто е страшно... При ползването на неща от сорта :

ns:=CreateOleObject('IISNameSpace');
w3svc:=ns.GetObject('IISWebService','Localhost/w3svc');

и после едно обхождане на web serverite с цикъл:
ns.GetObject('IISWebServer','Localhost/w3svc/'+IntToStr(ab));

Processor usage скача на 100 % при 200 сайта...

Kade pazish sastoqnieto - v baza danni li?

Като се логна като администратор си дърпам и сетвам нещата директно. Иначе за обикновени юсери MS SQL 2000 DB

Ot ASP-to mozhe da vikash COM componenti - ne mi e qsno po kakav drug nachin bi mogal da realizirash komunikaciqta s ne-ASP kod.

С NT service-тo в момента си говорим по следния начин:
В една директория ASP-to запсива файл със заявка, servica подслушва директорията и като се появи файл обработва заявката като връща резултата пак във файл. От своя страна ASP-то чака файла с резултат (имам един компонент за тая работа) и като се появи - си го вмъква в респонса.
Хич не се гордея с това "решение", ама много ме бяха подгонили сроковете и трябваше да има "нещо работещо". Сега ми се ще да направя нещата малко по-културни. ISAPI-to ми се струва голяма хамалогия (както казваш "ISAPI-to ot ASP bi mogal da go polzvash samo s redirectvane") така че не ми харесва много тоя вариант. ASP компоненти съм правил и мисля че не бих имал проблеми, а с COM+ досега не съм имал работа та ще трябва да се поровя....

МНОГО БЛАГОДАРЯ за съветите на Пpaco... wili98 jamie n/a и разбира се на Architect. Нещо много ме е подгонила службата, та нямам време да отговоря на всички за което се извинявам...

Отговор
в отговор на CravisDotCom #8

Re: Service, COM or ISAPI ?

Na tvoe miasto ne bih razchital mnogo na IIS ... verno che e edin ot nai-lesnite za rabota i pisane za nego ... no .... hvyrli edno oko na [линк], ako sa ti ostavili vratichka da izbiagash ot IIS - napravi go ;>

Отговор
в отговор на CravisDotCom #9

Re: Service, COM or ISAPI ?

Hmmmm I az nawremeto imah podoben problem. mnogo se chudih kakwo da prawq i koq tehnologiq da izbera. Probwah gi pochti wsichkite izwestni i wse neshto ne mi hareswashe(nqkyde se tryrkalq direktoriq s 5-6 exe-ta na tema "kak raboti towa") Nakraq mi pisna drypnah rfc2616 pochetoh malko i nakraq sytworih neshto koeto prilicha na web server - submit-wash mu nqkakwa forma to si q parswa i sled towa na bazata na poletata si wyrshi kakwoto trqbwa kato nakraq generira nqkakyw dokument ot dinamichen shablon... Ne ti trqbwat nikakwi tehnologii i prochie prostotii - ot opit sym ostanowil che kolkoto poweche mejdinni niwa ima edna s-ma tolko po nenadejdna e. i kolkoto i da ti prikazwat za gywkawost i prochie.... kakwo po gywkawo ot edno samotno exe deto si wyrshi samo rabotata? Kakto i da e. Ako te interesuwa sorsowete sa syshto na Delphi. Moga da ti gi dam, pa ako otkriesh nqkoj bug da swirkash :))

Отговор
в отговор на SDR #10

Re: Service, COM or ISAPI ?

Идеята определено ме заинтригува... Чудя се как не ми е дошло на акъла така че много ще съм ти благодарен ако пуснеш нещо :
[email protected]

Благодаря предварително !

Отговор
в отговор на CravisDotCom #11

Re: Service, COM or ISAPI ?

Искам тържествено да благодаря на всички за хелпа !!!
Направих го с COM+ и работи като слънце !
Още едно въпросче :
Знаете ли за някакъв интерфейс чрез който да създавам MS SQL 2000 databases and logins ?


[линк]
Отговор