Implementarea software a sistemului
Sistemul de implementare 6. Software
Software-ul începe punerea în aplicare, în primul rând, cu alegerea limbajului de programare este apoi selectat instrument de caz care acceptă această limbă, și instrument de dezvoltare în cele din urmă selectat în limbajul de programare selectată.
6.1. Alegerea limbajului de programare
Dezvoltarea Internetului și World Wide Web face un mod cu totul nou să ia în considerare procesele de dezvoltare și distribuție a software-ului. Pentru a supraviețui în lumea de e-business și distribuirea datelor, limbaj de programare trebuie să fie:
- în condiții de siguranță,
- De înaltă performanță,
- de încredere.
Lucrul pe diferite platforme de rețele eterogene, și server proxy rulează pe platforme diferite, software-ul se debarasează schema tradițională de distribuție, versiuni software, modificarea software, combinand software-ul, etc. Pentru a rezolva problema limbii mass-media eterogene ar trebui să fie [14]:
- neutru la arhitectura,
- portabile,
- ajustează în mod dinamic.
Limba concepute pentru a rezolva problemele de medii eterogene, ar trebui să fie, de asemenea,
- simplu - ar trebui să fie ușor de utilizat, toți dezvoltatorii,
- clare - dezvoltatorii au nevoie, fără o mulțime de efort pentru ao stăpâni,
- orientat pe obiect - el trebuie să folosească toate avantajele metodologiilor de dezvoltare software moderne și abordări pentru a scrie aplicatii client-server distribuite,
- multi-threaded - pentru aplicații de înaltă performanță, care desfășoară în același timp, o mulțime de acțiune (server proxy poate răspunde la mai multe cereri de utilizator)
- interpretat - pentru portabilitate și o mai mare agilitate.
Cele mai multe corespunde acestor caracteristici ale limbajului de programare Java. Să ne gândim mai în detaliu caracteristicile enumerate Java.
Simplitatea limbajului face parte din caracteristicile cheie ale Java: dezvoltator nu ar trebui să aibă o lungă perioadă de timp pentru a învăța limba înainte de a putea fi programat pe ea. Principiile fundamentale ale conceptelor de limbaj Java profite de rapid și programatori de la început poate duce munca productivă. Dezvoltatorii Java au fost luate în considerare faptul că mulți programatori familiarizați cu C ++, Java este motivul pentru care, în măsura în care este posibil, aproape de C ++ [16].
În Java, nu include unele rar utilizate, prost înțeles și complică activitatea de oportunități C ++ care aduc mai multe probleme decât beneficii. A trebuit să renunțe la:
- Reacoperirea (dar metodele supraîncărcate în Java a rămas)
- moștenire multiplă,
- typecasting răspândire automată.
Adăugați automat de colectare a gunoiului, care simplifică procesul de programare, dar este ceva mai complicat sistem ca întreg. In managementul memoriei C și C ++ a cauzat întotdeauna o mulțime de probleme, dar acum nu au prea mult să vă faceți griji despre asta.
Limbajul Java a fost proiectat de la bun început ca un obiect orientat. sistem client-server de Sarcini distribuite corespunde paradigmei orientate-obiect: utilizarea conceptelor de încapsulare, moștenire și polimorfism. Java oferă o platformă clară și eficientă de dezvoltare orientate spre obiect.
programatorii Java pot utiliza facilitățile standard de bibliotecă, susține funcționarea dispozitivelor I / O, funcțiile de rețea, metodele de creare a unei interfețe grafice. Funcționalitatea acestor obiecte biblioteci poate fi extins.
Platforma Java este conceput pentru a crea un software de aplicație extrem de disponibil. O atenție deosebită este acordată programului de verificare la momentul compilării, urmat de al doilea nivel - inspecția dinamică (în timpul rulării).
Modelul de management al memoriei este foarte simplu: obiectele sunt create cu ajutorul noului operator. În Java, spre deosebire de mecanismul de C ++ indicii elimină posibilitatea de scriere directă în memorie și date corupției: operațiunile de lucru cu indicii sunt puternic tipizat, nu aritmetica pointer. Lucrul cu matrice este controlată de către sistemul de control. Există o colecție automată de gunoi.
Acest model de management al memoriei exclude o clasă de bug-uri, atât de des întâlnite de către dezvoltatori în C și C ++. Programele Java pot fi scrise, fiind siguri că aparatul nu „atârnă“, din cauza de eroare atunci când se lucrează cu alocarea dinamică a memoriei.
- Independența de Arhitectura
Java este conceput pentru a sprijini aplicațiile în curs de implementare în medii eterogene de rețea. În astfel de medii, aplicațiile trebuie să ruleze pe diferite arhitecturi hardware care rulează sisteme de operare diferite, și în legătură cu interfețele de diferite limbaje de programare. Pentru a oferi platforma independenta a programului compilator Java generează bytecode - format intermediar arhitectural-neutru al programului, care este creat pentru transmiterea eficientă a codului pe diferite platforme hardware și software. Atunci când codul de program octet este interpretat de către mașină Java. Același Java bytecode va rula pe orice platformă.
independență de arhitectură - doar o parte integrantă a portabilitate. Spre deosebire de C sau C ++, Java nu există conceptul „În funcție de punerea în aplicare,“ atunci când vine vorba de dimensiunea tipurilor de bază. Formate de tipuri și operațiuni pe ele de date sunt clar definite. Astfel, programul rămân aceleași pe orice platformă - nu există nici o incompatibilitate între tipurile de date în arhitecturile hardware și software.
independență de arhitectură și portabilitatea software-ului Java furnizat de Java Virtual Machine (Java Virtual Mashine - JVM) - o mașină abstractă pentru care compilatorul Java generează un cod. platforme hardware și software specifice implementării speciale JVM oferă deja o mașină virtuală specifică.
Performanță merită întotdeauna o atenție specială. Java realizează o productivitate ridicată, cu un bytecode special optimizat ușor de tradus în cod mașină. Colectarea automată a gunoiului se face ca un fir de fundal cu prioritate redusă, oferind o probabilitate mare de disponibilitate de memorie necesară, ceea ce duce la o productivitate crescută. Aplicațiile care necesită resurse de calcul mari pot fi proiectate astfel încât părțile care au nevoie de calcul intensiv, au fost scrise într-un limbaj de asamblare și pentru a interacționa cu platforma Java. Practic, utilizatorii simt că aplicațiile interacționează rapid, în ciuda faptului că acestea sunt interpretate.
Java interpret poate executa cod Java byte pe orice mașină pe care interpretul și rula sistemul. Programul interpretativ pe faza platforma construi este un simplu turn-based, astfel încât procesul de dezvoltare este mult accelerată și simplificată, nu tradițional pași de compilare greu, asamblare, testare.
Cele mai multe aplicații web moderne sunt de obicei necesare pentru a efectua mai multe operațiuni simultan. În Java, un mecanism de sprijin fluxuri de procese ușoare (fire de). Java multi-threading ofera instrumente pentru a crea aplicații cu mai multe fluxuri active simultan.
Pentru a lucra eficient cu fluxuri în Java are un mecanism semafoarele și mijloace pentru sincronizarea mișcării: biblioteca limba furnizează clasa fir, și de a efectua sistem de programare oferă mijloacele și instrumentele care implementează semafoarele. Este important ca activitatea de fire paralele cu nivel înalt bibliotecile de sistem Java nu va provoca conflicte: caracteristicile oferite de bibliotecile disponibile la orice fluxuri de funcționare.
Pentru o varietate de motive Java limbaj mai dinamic decât C ++. Acesta a fost proiectat special pentru a se potrivi cu mediul în schimbare. În timp ce compilatorul Java la compilare și verificări statice nu permite nici o abatere, procesul de asamblare și de a efectua extrem de dinamic. Clasele sunt legate numai atunci când este necesar. Noile module software pot fi conectate la orice sursă, inclusiv, disponibile în rețea. În cazul în care browser-ul HotJava și alte aplicații, cum ar fi codul executabil interactiv poate fi descărcat de oriunde, ceea ce permite modificarea aplicarea transparentă. Acest lucru poate avea ca rezultat crearea de servicii interactive, modificabili care deservesc un număr mare de clienți nedureroase și pentru a asigura dezvoltarea e-business pe Internet.
În cazul în care caracteristicile descrise mai sus sunt luate în considerare separat, ele pot fi găsite în mai multe platforme software. inovație radicală este în metoda de Java și a sistemului de execuție care combină toate caracteristicile pentru a oferi sistem de programare flexibil și puternic.
Dezvoltarea de aplicatii Java conduce la producerea de software care:
- portabile în diferite arhitecturi, sisteme de operare și interfețe grafice cu utilizatorul
- în siguranță
- De mare capacitate
Ceea ce este deosebit de important în punerea în aplicare a software-ului ca un server proxy.