eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingModułowość programu - założenia
Ilość wypowiedzi w tym wątku: 23

  • 11. Data: 2011-09-18 07:42:47
    Temat: Re: Modułowość programu - założenia
    Od: Jacek Czerwinski <...@...z.pl>

    W dniu 2011-09-17 23:40, Maciej Sobczak pisze:
    > On Sep 17, 5:02 pm, Michoo<m...@v...pl> wrote:
    >
    >> Tylko co w sytuacji gdy nie da si tego zlinkowa bo mamy plugin X i
    >> jego wersj dla firm A,B r ni ce si kilkoma szczeg ami, kt rych
    >> wprowadzenie do mainline nie jest ani celowe ani korzystne?
    >

    Miałem/mam pewien mało ambitny jako dzieło programistyczne, ale ważny
    dla działów firmy program.
    Początkowo różnice prowadziłem #ifdef'ami, czyli miałem z jednego kodu
    inne binarki dla rożnych działów firmy. Kiedyś przeszedłem na jedną dla
    wszystkich binarkę, parametrem konfiguracyjnym przełączającą funkcjonalność.

    Wydzielone 'pluginy' też zaczynałem, miało ułatwić życie (próba nowej
    wersji, te sprawy), ale okazało się kłopotliwe, jak piszecie.

    jedna binarka, zakładam próbny katalog, od niczego z DLL nie jest
    zależny, potwierdzam z użytkownikiem poprawne działanie - to mój obecny
    wybór.

    PS. DLL w Windows, można mieć odmienne wersje w katalogach przy różnych
    aplikacjach, ale jak jest jedna z nich załadowana, działa dla nich
    wszystkich. Niektórzy mówią DLL hell.


  • 12. Data: 2011-09-18 08:12:34
    Temat: Re: Modułowość programu - założenia
    Od: Artur Muszyński <a...@u...wytnijto.com.pl>

    W dniu 2011-09-18 09:42, Jacek Czerwinski pisze:
    > PS. DLL w Windows, można mieć odmienne wersje w katalogach przy różnych
    > aplikacjach, ale jak jest jedna z nich załadowana, działa dla nich
    > wszystkich. Niektórzy mówią DLL hell.

    A to nie dotyczy tylko Win16?

    artur


  • 13. Data: 2011-09-18 08:32:04
    Temat: Re: Modułowość programu - założenia
    Od: Jacek Czerwinski <...@...z.pl>

    W dniu 2011-09-18 10:12, Artur Muszyński pisze:
    > W dniu 2011-09-18 09:42, Jacek Czerwinski pisze:
    >> PS. DLL w Windows, można mieć odmienne wersje w katalogach przy różnych
    >> aplikacjach, ale jak jest jedna z nich załadowana, działa dla nich
    >> wszystkich. Niektórzy mówią DLL hell.
    >
    > A to nie dotyczy tylko Win16?
    >

    32 na poziomie generacji NT, XP na pewno, własną krwią sprawdzony
    konflikt. DLL o nazwie X jak już jest załadowana (aktywna), ma
    priorytet, i inna nie jest ładowana.

    Konflikt mają nawet programy z wiodącego "rządowego" softwarehousu, z
    różnych działów tej firmy, o ile się zejdą na jednym komputerze. Dla
    świętego spokoju kupuje się księgowej drugi komputer.

    Czy w Vista/7 wyeliminowali? Nie wiem. Pewnie w jakiejś wirtualizacji
    dało by się wyeliminować.


  • 14. Data: 2011-09-18 08:59:41
    Temat: Re: Modułowość programu - założenia
    Od: Patryk Włos <p...@i...peel>

    >> Za my, e mamy aplikacj obs uguj c kilkaset da na minut . W
    >> przypadku odpowiednio rozwi zanego systemu plugin w mo emy oznaczy
    >> plugin jako przeznaczony do wy adowania(zostanie wy adowany gdy sko cz
    >> si wszystkie po czenia), za adowa now wersj i mie aktualizacj bez
    >> downtime.
    >
    > Widziałeś już coś takiego w praktyce? Nazwa produktu, please.

    Serwerowe programy antywirusowe tak działają. Kaspersky przykładowo.
    Nawet ClamAV, tylko ClamAV nie ma w swoich bazach prekompilowanego kodu
    wykonywalnego, a same sygnatury. Ale idea ta sama.

    > BTW - co to znaczy "gdy skończą się wszystkie połączenia" i czym to
    > się różni od downtime?
    >
    > BTW2 - a co jak się połączenia nie skończą, bo zawsze przyjdzie jakieś
    > nowe i nigdy nie będzie ich zero? Trzeba zrobić jakiś mechanizm, który
    > nie pozwoli na stworzenie nowych połączeń. I czym *to* się różni do
    > downtime z punktu widzenia tego odrzuconego klienta?

    W antywirusach jest taki patent, że połączenia odebrane do pewnego
    momentu są obsługiwane przez stary silnik, a po tym momencie już przez
    nowy silnik (czyli w pewnym zakresie czasu działają oba silniki
    jednocześnie i po zakończeniu obsługi starych połączeń stary silnik jest
    wywalany z pamięci).


    Patryk


  • 15. Data: 2011-09-18 09:31:23
    Temat: Re: Modułowość programu - założenia
    Od: "Robert Winkler" <n...@n...org>

    >>> PS. DLL w Windows, można mieć odmienne wersje w katalogach przy różnych
    >>> aplikacjach, ale jak jest jedna z nich załadowana, działa dla nich
    >>> wszystkich. Niektórzy mówią DLL hell.
    >>
    >> A to nie dotyczy tylko Win16?
    >>
    >
    > 32 na poziomie generacji NT, XP na pewno, własną krwią sprawdzony
    > konflikt. DLL o nazwie X jak już jest załadowana (aktywna), ma priorytet,
    > i inna nie jest ładowana.
    >
    > Konflikt mają nawet programy z wiodącego "rządowego" softwarehousu, z
    > różnych działów tej firmy, o ile się zejdą na jednym komputerze. Dla
    > świętego spokoju kupuje się księgowej drugi komputer.
    >
    > Czy w Vista/7 wyeliminowali? Nie wiem. Pewnie w jakiejś wirtualizacji dało
    > by się wyeliminować.

    Już w Windows XP rozwiązano ten problem.
    W Windows XP i nowszych aby aplikacja miała XP-kowe UI
    trzeba było do niej dodać manifest,
    zmuszało to system do załadowania dla danego programu
    Microsoft.Windows.Common-Controls w wersji 6.0.
    Każdy może skorzystać z tego mechanizmu
    wystarczy zainstalować swoje biblioteki w winsxs
    i do programu dodać manifest określający jakie wersje tych bibliotek
    mają być ładowane z winsxs.


    --
    __________
    Pozdrawiam
    Robert Winkler


  • 16. Data: 2011-09-18 12:49:23
    Temat: Re: Modułowość programu - założenia
    Od: Paweł Kierski <n...@p...net>

    W dniu 2011-09-18 10:59, Patryk Włos pisze:
    >>> Za my, e mamy aplikacj obs uguj c kilkaset da na minut . W
    >>> przypadku odpowiednio rozwi zanego systemu plugin w mo emy oznaczy
    >>> plugin jako przeznaczony do wy adowania(zostanie wy adowany gdy sko cz
    >>> si wszystkie po czenia), za adowa now wersj i mie aktualizacj bez
    >>> downtime.
    >>
    >> Widziałeś już coś takiego w praktyce? Nazwa produktu, please.
    >
    > Serwerowe programy antywirusowe tak działają. Kaspersky przykładowo.
    > Nawet ClamAV, tylko ClamAV nie ma w swoich bazach prekompilowanego kodu
    > wykonywalnego, a same sygnatury. Ale idea ta sama.
    >
    >> BTW - co to znaczy "gdy skończą się wszystkie połączenia" i czym to
    >> się różni od downtime?
    >>
    >> BTW2 - a co jak się połączenia nie skończą, bo zawsze przyjdzie jakieś
    >> nowe i nigdy nie będzie ich zero? Trzeba zrobić jakiś mechanizm, który
    >> nie pozwoli na stworzenie nowych połączeń. I czym *to* się różni do
    >> downtime z punktu widzenia tego odrzuconego klienta?
    >
    > W antywirusach jest taki patent, że połączenia odebrane do pewnego
    > momentu są obsługiwane przez stary silnik, a po tym momencie już przez
    > nowy silnik (czyli w pewnym zakresie czasu działają oba silniki
    > jednocześnie i po zakończeniu obsługi starych połączeń stary silnik jest
    > wywalany z pamięci).

    To, że tak się robi, to nie znaczy, że ta metoda jest warta polecenia.
    Sam coś takiego pisałem w AV, ale teraz bym tego nie powtórzył 8-)
    Na desktopie lepiej wymusić restart engine'u (co najwyżej blokując na
    ten czas sieć).

    A na serwerach - lepiej mieć hot-swap na poziomie aplikacji
    (równoległych instancji razem ze sprzętem).

    Teraz mam system, który wygląda, jakby się prosił o rozwiązanie
    z dynamicznym ładowaniem modułów, Mam graf przetwarzania, przez
    który płyną komunikaty. Każdy węzeł to moduł, który robi specyficzne
    przetwarzanie.

    Ale zrezygnuję z dynamicznego ładowania Właśnie na rzecz tworzenia
    nowych instancji, które będą miały wkompilowane nowe/zmienione moduły.
    Wystarczyło dodać moduł generycznego serwera i klienta, żeby połączyć
    grafy z różnych instancji. Jeśli muszę wymienić kawałek grafu, mogę
    zrobić obejście przez inną instancję aplikacji - do czasu najbliższego
    down-time'u, który i tak czasem musi wystąpić.

    --
    Paweł Kierski
    n...@p...net


  • 17. Data: 2011-09-18 13:31:12
    Temat: Re: Modułowość programu - założenia
    Od: Jacek Czerwinski <...@...z.pl>

    W dniu 2011-09-18 11:31, Robert Winkler pisze:
    >>
    >> Czy w Vista/7 wyeliminowali? Nie wiem. Pewnie w jakiejś wirtualizacji
    >> dało by się wyeliminować.
    >

    > Już w Windows XP rozwiązano ten problem.
    ...
    > wystarczy zainstalować swoje biblioteki w winsxs
    > i do programu dodać manifest określający jakie wersje tych bibliotek
    > mają być ładowane z winsxs.


    Nie wiedziałem. Człowiek całe życie się uczy.
    O ile o tym samym mówimy
    a) nie mamy żadnej załadowanej, i szukamy 'właściwej'
    b) jest jedna już załadowana i system NIE SZUKA pliku z następną.

    W każdym razie więksi ode mnie (o kilka rzędów wielkości) tego nie
    robią. Nie wiem dlaczego. Program (tej samej firmy) dla biurokracji w
    przychodni po użyciu (jednocześnie) programem do składek zus wykłada się
    na spornej SSL*.DLL

    Mnie osobiście (jako użytkownika windows) winsxs przyprawia o doznania
    żołądkowe, nie mam mocnego przekonania że dla specyficznej zmienności
    aplikacji biznesowych to dobra droga.


  • 18. Data: 2011-09-18 15:55:56
    Temat: Re: Modu?owo?? programu - za?o?enia
    Od: A.L. <l...@a...com>

    On Thu, 15 Sep 2011 15:12:49 +0200, Lukasz <k...@a...pl[usun]>
    wrote:

    >
    >Sam malutki program będzie składał się z okna głównego i np. dialogu
    >logowania oraz będzie ładował dll od frameworka, jeśli będą dostępne
    >pluginy modułów, to wtedy będzie rysowany interfejs od modułu. Moduły
    >będą też korzystały z dll frameworka(zawiera bazowe, więc chyba musi).


    Ja mysle ze nei masz zielonego pojecia co to jest modul, modulowosc i
    po co one sa. Moeze bys tak cos poczytal?...

    A.L.


  • 19. Data: 2011-09-18 16:21:58
    Temat: Re: Modu?owo?? programu - za?o?enia
    Od: "Waldek M." <w...@l...localdomain>

    Dnia Sun, 18 Sep 2011 10:55:56 -0500, A.L. napisał(a):
    >>Sam malutki program będzie składał się z okna głównego i np. dialogu
    >>logowania oraz będzie ładował dll od frameworka, jeśli będą dostępne
    >>pluginy modułów, to wtedy będzie rysowany interfejs od modułu. Moduły
    >>będą też korzystały z dll frameworka(zawiera bazowe, więc chyba musi).
    >
    > Ja mysle ze nei masz zielonego pojecia co to jest modul, modulowosc i
    ^^^^^
    > po co one sa. Moeze bys tak cos poczytal?...
    ^^^^^^ ^^^^^^^^^^^^
    Sam byś poczytał, może byś wreszcie przestał mieć problemy
    z rozumieniem dyskusji w Usenecie.
    A i może pisanie w języku polskim poszłoby Ci lepiej.

    Waldek


  • 20. Data: 2011-09-18 16:59:43
    Temat: Re: Modu?owo?? programu - za?o?enia
    Od: Lukasz <k...@a...pl[usun]>

    W dniu 18.09.2011 17:55, A.L. pisze:
    > Ja mysle ze nei masz zielonego pojecia co to jest modul, modulowosc i
    > po co one sa. Moeze bys tak cos poczytal?...

    Myślę że Pan myśli inaczej niż większość, bo jak widać dyskusja trwa i w
    dodatku na temat.

    Pozdrawiam i zapraszam do innych wątków gdzie ma Pan coś w temacie do
    powiedzenia.

strony : 1 . [ 2 ] . 3


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: