Assemblix-uutiskirje lähetetään MikroPC.netin uutiskirjeen tilaajille. Voit halutessasi poistua lähetyslistalta omista asetuksista.



Tiistai 29.10.2002 klo 08:00

Mobiilijavan toteutuksissa huimia nopeusvaihteluja
RealNetworks avaa koodiansa
WS-I:ltä standardiluonnos, Sun liittyi ryhmään
XML-suositukseen ensimmäinen päivitys
.NET Compact Framework melkein valmis
Adobelta dokumenttipalvelin
MySQL-tietokanta liitetään NetWareen
CGE&Y:lle ohjelmistotyön tehostamiskeskus

Keskinkertaisuus kannattaa?

Ohjelmistotuotanto eroaa laatuajattelultaan selvästi muista ammateista. Softa-alalla virheet ovat "välttämätön paha", yleisesti hyväksytty ja tiedostettu ongelma. Jopa niin yleinen, että aihetta käsitellään jo esimerkiksi Tiede-lehden tai NYT-liitteen kansijutuissa.

Monet nykyisistä "bugeista" ovat todellisuudessa seurausta siitä, että ohjelmia ajetaan niille vieraassa ympäristössä.

Esimerkiksi sähköpostiohjelman laatijalle ei alun perin varmasti tullut mieleen, että sanoman sisältönä voi joskus olla hypertekstiä ja jopa pieni sovellus. Html-muotoinen sähköposti kuitenkin tuli ja valloitti. Ei siis mikään ihme, että madot jylläävät postilaatikoissamme.

Verkosta löytyy kuvauksia mitä hullunkurisimmista softavirheistä. Päiväntasaajan ylittänyt hävittäjälentokone kiepsahti navigointijärjestelmässä olleen vian vuoksi ylösalaisin. Raketit ovat lennelleet minne sattuu, kuolleita on kutsuttu kouluun ja ydinreaktorit ovat sammuttaneet itse itsensä.

Monet virheet ovat seurausta kiireestä tai säästämisestä. Tai yksinkertaisesti laiskuudesta ja välinpitämättömyydestä.

Nettibuumin alkuaikoina oli tärkeintä, että sivustoon saatiin nopeasti haluttua toiminnallisuutta – maksoi mitä maksoi. Nyt koodaajan jokaista työtuntia seurataan ja kyseenalaistetaan. Halvin tarjous usein voittaa, mutta paljonkohan siinä on budjetoitu testauskuluille?

Oliopohjaisen ohjelmistotuotannon uranuurtaja Ivar Jacobson esittää, että jokaiselle yksittäiselle toiminnallisuudelle (ts. käyttötapaukselle) tulisi ensin rakentaa testi, sitten vasta itse toteutus.

Liikaakin voi testata. Arkkitehtuuria ja menetelmää voi viilata loputtomiin, eikä se silti takaa tyydyttävää lopputulosta.

Harri J. Talvitie




Uutiset
   

Mobiilijavan toteutuksissa huimia nopeusvaihteluja

Pienlaitteisiin sovitetun Java-tekniikan eli Java 2 Micro Editionin (J2ME) toteutuksissa on suuria nopeuseroja. Vaihtelut selittyvät pienlaitteissa käytettyjen suoritin- ja muistitekniikoiden kirjavuudella sekä Java-virtuaalikoneen erilaisilla optimoinneilla.

Java Wireless Competency Centren kehittämä J2ME-testisarja paljastaa muun muassa, että Nokia Communicator 9210 -mallissa Java toimii kymmenen kertaa nopeammin kuin Motorolan ja Siemensin malleissa. Kameramalli 7650 päihittää kuitenkin 9210:nkin selvästi.

J2ME-nopeustesteissä mitataan mm. ydintoimintoja (matemaattiset toiminnot, merkkijonot, muistinvaraus), sovellustasoa (http-protokolla, xml-parserointia kirjaston avulla), käyttöliittymää, tiedonhallintaa (Record Management System) ja moniajoa (säikeet).

Ydintoiminnoissa 7650 on kuusi kertaa nopeampi kuin 9210. Verkkotestissä kummatkin Nokialaiset ovat tasaväkisiä. iPAQ päihittää Nokian mallit kaikissa testeissä paitsi matalan tason grafiikkatestissä.

Nopeustestien tulosten avulla mobiilikehittäjät voivat selvittää jo etukäteen sovellustensa arvioitua suorituskykyä eri laiteympäristöissä. Esimerkiksi pelikehittäjälle tieto laitteen graafisesta suorituskyvystä on tärkeää.
   

RealNetworks avaa koodiansa

RealNetworks avaa kehittäjille osittaisen pääsyn yhtiön kehittämiin verkkopohjaisiin ääni- ja videoteknologioihin. Mediasoittimen ydintoimintojen lähdekoodia paljastetaan tänään ilmestyneessä Helix DNA Client -paketissa.

Yhtiön pääjohtajan Rob Glasterin mukaan DNA Client on ensimmäinen kolmesta julkistuksesta. Myöhemmin ovat tulossa Helix DNA Server sekä Helix DNA Encoder. Helix DNA Server -lähdekoodilla voidaan rakentaa omia Real-yhteensopivia lähetysasemia ja Encoder -osalla voidaan hallita video- ja äänivirtojen pakkausta.

Client-paketin lähdekoodi sisältää vain soittimen keskeisimmät ydintoiminnot mutta ei videon ja äänen tiivistämiseen kuuluvia codec-osia (compressor/decompressor). Client-paketista löytyy kuitenkin verkkoprotokollien kuten RTS:n ja RTSP:n sekä välimuistihallinnan toteutus.

RealNetworksin lähdekoodijulkistuksiin on suhtauduttu kehittäjäpiireissä varauksella. Käynnissä on myös vaihtoehtoisia ja täysin avoimia projekteja. Eräs tunnetuimmista näistä on Xiph.Org:in Ogg Vorbis.
   

WS-I:ltä standardiluonnos, Sun liittyi ryhmään

Web-sovelluspalvelujen sujuvaa yhteistoimintaa standardisoiva Web Services Interoperability eli WS-I on julkistanut perustoimintojen ensimmäisen standardiluonnoksen. Standardin avulla pyritään vähentämään nykyisten SOAP- ja WSDL-tekniikoiden moniselitteistä ja epäselvää käyttötyyliä.

8. lokakuuta julkistettu Basic Profile 1.0 Draft sisältää 100 vaatimuslausetta, joista 67 on pakollisia ("MUST" tai "MUST NOT" - tyyppisiä), 9 suositusta ("SHOULD" tai "SHOULD NOT") ja 20 valinnaista ("MAY"). Lisäksi joukossa on neljä kahdenkeskeisen eli yksityisen liikennöintimenettelyn mahdollistavaa lauseketta.

Luonnoksessa esitetään muun muassa, että SOAP-sanoman kirjekuoressa (soap:Envelope) ei saisi käyttää RPC-tyyppistä tietomuotoa (rpc/encoded) vaan pelkästään literaali-xml:ää. Nykyisistä web services -välineistä esimerkiksi Microsoftin SOAP Toolkit on siten epäyhteensopiva WS-I:n määrityksen kanssa. Visual Studio .NET sen sijaan käyttää oletuksena yhteensopivaa document/literal-muotoa.

Sun Microsystems ilmoitti vihdoin liittyvänsä mukaan WS-I -ryhmään. Tämän myötä Java-pohjaisiin web services -palveluihinkin saadaan varmuudella muiden valmistajien kanssa toimivat toteutukset.

Valtataistelu WS-I:ssä kuitenkin jatkuu edelleen, sillä Sun ei saanut havittelemaansa johtoportaan asemaa. Sunin lisäksi paikalle ovat tyrkyllä myös Cisco, Novell, Verisign ja Ariba.
   

XML-suositukseen ensimmäinen päivitys

Nelivuotiaaksi ennättänyttä XML-suositusta ollaan lähiaikoina päivittämässä uusilla ominaisuuksilla kuten Unicode-merkistöllä ja IBM-suurkonetuella. Alkuperäinen 1.0-versio on ollut suosituksena käytössä vuodesta 1998. Vuonna 2000 siihen tehtiin muutamia korjauspäivityksiä.

World Wide Web Consortium eli W3C julkisti XML 1.1 -suosituksen luonnoksen kaksi viikkoa sitten.

Blueberryksi eli mustikaksi nimetty päivitys on jo ennättänyt herättää närää XML-piireissä. Monien ohjelmistovalmistajien mielestä uusi versio ei ole yhteensopiva edellisen version kanssa ja rikkoo siten joitakin vanhoja sovelluksia.

XML 1.0 salli Unicode-tyyppisen tekstisisällön elementin sisältönä muttei tunnisteissa. Periaatteena määrittelyssä oli "kaikki se, mikä ei ole erikseen sallittua, on kiellettyä".

XML 1.1:ssä kieltoperiaate vaihtuu sallimisperiaatteeseen. Samalla merkistörajoitukset tunnisteidenkin osalta poistuvat. Uudessa versiossa kaikki nimet voivat olla vapaasti Unicode-koodattuja vaikka Kanjilla. Ensimmäisen XML-version aikoihin Unicode-merkistöstä oli ilmestynyt vasta versio 2.0. Tällä hetkellä Unicode-tekniikassa on ehditty jo versioon 3.2.
   

.NET Compact Framework melkein valmis

Microsoftin .NET-alustasta karsittu pienlaiteversio eli .NET Compact Framework on valmistumassa näillä hetkillä. Microsoft esitteli kompaktiversion lähes lopullista versiota Embedded DevCon -tapahtumassa Las Vegasissa viime viikolla.

Compact Frameworkista on ilmestynyt jo kaksi beetaversiota viimeisen kuuden kuukauden aikana.

Tuotteen avulla kehittäjä voi rakentaa sovelluksia tutussa Visual Studio .NET -ympäristössä Pocket PC-, Windows CE- ja Microsoft Smartphone- pohjaisille laitteille. Smartphone-tuki tosin tulee hieman myöhässä, arviolta ensi tammikuussa.

Compact Framework sisältää Pocket PC- ja CE-emulaattorin, joten kehittäjän ei tarvitse omistaa varsinaista pienlaitetta.

Alustassa tuetaan suurinta osaa täyden .NET-ympäristön ominaisuuksista. ADO.NET-tietokantarajapinnan ja erillisen SQL Server for CE:n avulla saadaan pienlaitteisiinkiin kattavat tietokantaominaisuudet. Myös web services -tuki ja xml-ominaisuudet löytyvät.

Kilpailevassa Java-pohjaisessa J2ME-tekniikassa (Java 2, Micro Edition) ei vastaavia xml- ja tietokantaominaisuuksia ole ainakaan vielä tarjolla.
   

Adobelta dokumenttipalvelin

Adoben Document Server on uusi palvelinohjelma dokumentti- ja lomakepohjaisten sovellusten kehittäjille. Windows NT/2000- ja Solaris-ympäristöissä toimiva ohjelmisto automatisoi pdf-muotoisen tiedon tuotantoa ja siirtoa eri sovellusten välillä. Tuote kuuluu Adoben uuteen Network Publishing Solutions -perheeseen.

Document Server on arkkitehtuuriltaan kieliriippumaton. Kehittäjän rajapintoja ovat mm. Java, Perl, COM ja SOAP. Dokumentin sisältö voidaan tuottaa myös XML-pohjaisella XML-FO -tekniikalla (XML Formatting Objects).

Document Server -pohjainen sovellus voi luoda käyttäjälle räätälöidyn esitäytetyn lomakkeen ja hakea täytetyn lomakkeen tiedot takaisin suoraan esimerkiksi tietokantaan tai toiminnanohjausjärjestelmään. Mukana on turvaominaisuuksia, joten käyttäjä voi allekirjoittaa tiedot esimerkiksi omalla digitaalisella allekirjoituksellaan.

Document Serverillä toteutettujen sovellusten loppukäyttäjällä tulee olla uusin Acrobat-lukija eli vähintään versio 5.1. Acrobat-lukijan vanhempia versioita on tähän mennessä jaeltu Adoben mukaan jo yli puoli miljardia kopiota.

Hintavaa Document Server -tuotetta kaupitellaan paljon lomakemuotoisia dokumentteja käsitteleville yrityksille ja organisaatioille. Ohjelmistoa on beetatestattu esimerkiksi USA:n verohallinnossa (IRS).

Hinnoittelu perustuu palvelimen suorittimien lukumäärään alkaen noin 10 000 eurosta.
   

MySQL-tietokanta liitetään NetWareen

Utahissa pääkonttoriaan pitävä Novell on ilmoittanut yhdistävänsä MySQL- tietokantamoottorin nykyiseen NetWare 6 -palvelimeen. Ruotsalaisen MySQL-yhtiön saman niminen open source -tietokantaohjelmisto sekä muut lisätekniikat kuten Apache, PHP ja J2EE mahdollistavat nykyisen NetWare-infrastruktuurin sovittamisen web services -maailmaan.

Novell on aiemmin lisensoinut NetWareen tietokantamoottorin Pervasive.SQL-yhtiöltä. Tämä vanhempi Btrieve API tulee yhtiön mukaan jatkossakin säilymään NetWaressa, vaikka MySQL tarjoaa kehittäjille täysin samoja ominaisuuksia.

MySQL on kehittämässä tuotteestaan versiota 5.0, jonka parannuksia ovat mm. trigger-liipaisimet ja tallennetut proseduurit.
   

CGE&Y:lle ohjelmistotyön tehostamiskeskus

Konsultointiyritys Cap Gemini Ernst & Young (CGE&Y) on perustanut Helsinkiin ohjelmistotyön tehostamiskeskuksen eli Advanced Development Centerin (ADC). Hieman akateemiseen ja ei-kaupalliseen suuntaan vivahtavan nimen taustalta löytyy softatyön konsultointitoimintaa.

Liikkeenjohdon ja tietotekniikan CGE&Y-konsulttiyrityksellä on tällaisia tiukkaan menetelmäpohjaisuuteen, vakioituihin alustoihin ja standardityövälineisiin perustuvia ADC-keskuksia ympäri maailman yhteensä 28 kappaletta. Suurin näistä sijaitsee Intiassa, jossa työskentelee yhteensä 400 työntekijää. Helsingin keskuksessa on alkuvaiheessa 30 hengen ryhmä.

ADC-keskuksissa käytetään Rationalin kehittämää Unified Process -menetelmää (RUP), jonka pääideoita ovat UML-pohjainen mallinnus ja iteratiivisuus (työvaiheiden toistaminen ja parannusten asteittainen laatiminen).

Maailmalla sijaitsevissa ADC-keskuksissa tuetaan kaikkia yleisimpiä alustoja kuten WebLogicia, WebSpherea, iPlanetia ja .NET:iä. Helsingin keskuksessa keskitytään resurssien niukkuuden vuoksi alkuvaiheessa pelkästään IBM WebSphere -kehitystyöhön.

ADC-keskuksia markkinoidaan Quantitative Software Management -yhtiön tutkimuksessa saaduilla laatutuloksilla. Ohjelmistoprojektit ovat kuulemma sujuneet 20 - 40 prosenttia tehokkaammin kuin alalla keskimäärin ja niissä on ollut 15 - 20 prosenttia vähemmän virheitä.



Julkistuksia ja päivityksiä
Oracle9i JDeveloper 9.0.3
  Oraclen Java-kehitystyövälinettä voi käyttää ilmaiseksi kehittämiseen. Vasta sovelluksen käyttöönotto maksaa. Saatavilla Windows NT/2000/XP-, Linux-, Solaris- ja HP/UX -versiot.
Compuware DevPartner Profiler Community Edition
  Ilmainen Community Edition mahdollistaa .NET-sovellusten analysoinnin paikallisesti yhdellä koneella. Maksullisella versiolla sama onnistuu myös hajautetusti ja usealta koneelta.


Pointtereita sinne sun tänne

 
GeekCruises
  Geek Cruises tarjoaa jenkeille koulutusristeilyjä, joilla Linus Torvaldskin on näemmä viihtynyt. Tulossa mm. risteilyt .NET NIRVANA, PERL WHIRL ja MAC MANIA. Jestas!
 
"Why We Don't Build Software for Users"
  Visual Basic -pioneeri Alan Cooperin mietteitä softatyöstä ja .NET:istä.
 
J2ME-kehitysympäristöjen vertailu
  Mukana JBuilder 7, Sun ONE Studio 4, Metroweks CodeWarrior ja jVise.



Aiemmin ilmestyneet Assemblix-kirjeet:

  • Ammatti: suomalainen ohjelmoija
  • Webin uudet rakennusvälineet
  • Lukittu ja leikelty Longhorn
  • SP2: Tuhoa ja turvaa
  • Microsoft-messut identiteettikriisissä
  • Koodaajan patenttiviidakko
  • Elinkaareutuvaa Microsoft-koodausta
  • Monoa Microsoftille
  • Kuka valvoo koodia?
  • Hidasta hommaa
  • Vapaus valita
  • Paineessa viisasteltu
  • SOA - seuraava arkkitehtuurisi?
  • Koodin tähteet
  • Longhorn-lähetystyöntekijät liikkeellä
  • Miten sujui softabisnes vuonna 2003?
  • Käyttöjärjestelmä ohjaa kehittäjää
  • Mitä siellä toimistossa oikein tapahtuu?
  • Missä viipyy Smartphone?
  • Harmaantuvia koodivelhoja vai välkkyjä moniosaajia?
  • Avantoavusteinen ohjelmointi: suomalaiskoodarin salattu doping?
  • Mini-Assemblix
  • Web-sovelluspalvelujen kypsymistä odotellessa
  • Rekursiivisesti sisältökriittistä rönsyilyä
  • Pääkopan epäsymmetriasta vielä
  • Ohjelmoijantauti
  • Kenen koodia käytät?
  • GOTO kesälaitumelle
  • Sovellusarkkitehtuurien hienosäätöä
  • Koodi pääsee lööppiin
  • Windows-arkkitehtuurin alasajo
  • Avointa propagandaa
  • Uskallatko päästää Microsoftin taskuusi?
  • Softaduunarin äkkisukellus
  • Turvatonta tulevaisuutta
  • Naiset ja menetelmät puhuttivat
  • Sukupuolikoodi
  • Toimiiko äärikoodaus, laihduttaako Atkins?
  • Löysä XML kiihtyy raudalla
  • Java ja oikeusorientoitunut ohjelmointi
  • Ei vielä uhanalainen
  • Valitse vuoden kehittäjäväline
  • Tienaatko riittävästi?
  • Keskinkertaisuus kannattaa?
  • Web services + xml = hype^2
  • Pingviiniksi pingviinin paikalle?
  • Assemblix-pilotti


  • © 2002-2007 X-Telnet Oy   Aineiston uudelleenjulkaisu ilman lupaa kielletty