movilpoint blog
Ja fa uns quants dies que vaig penjar la primera versió del blog de movilpoint. De fet, des de llavors no ha canviat gaire però avui he penjat el primer post en anglès. Tot i que encara queden moltíssims continguts en castellà la intenció és anar-ho passant tot a anglès. Com podeu veure l’aspecte és molt semblant al d’un wordpress però realment és un nucleus, o sigui, el mateix software que uso per l’Oriol News Portal, però sense la col·lecció de plug-ins i add-ons que porta el blogcms sobre el nucleus. Per montar la web i el blog, el que he fet és usar un parell de blogs que aprofitant les seves categories semblen una sola web.
Ja sé que hi ha mil programes que serveixen per montar CMS, blog i de tot per empreses. Però la veritat és que no és la meva feina fer webs i per tant, no volia perdre massa temps aprenent a fer anar aquests softwares sense saber com em quedaria el resutlat final. Així que finalment em vaig decidir a modificar un template del nucleus i a fer aquest petit enginy amb els dos blogs que semblen una web i un blog respectivament.
Pel que fa al contingut del blog, com podeu veure a les categories no serà només de continguts de la pròpia empresa. Sinó que també parlaré de productes de tercers, fires internacionals, estudis de mercat, novetats tèncniques relacionats amb el sector, etc. jo diria que hi ha la possibilitat de convertir la web de l’empresa en un blog de referència dins del món dels quiscos, màquines de vending, punts d’informació multimèdia i d’altres similars.
Com sempre qualsevol crítica serà benvinguda. De moment paciència i a seguir treballant ja que sobretot en el que es refereix a la definició dels productes hi ha molt a fer. Els artícles del blog com ja faig al aquí, al meu blog, aniràn sent tan seguits i tan tècnics com em sigui possible. Tot i que espero que ben aviat altres membres de l’empresa s’animin a escriure també al blog.
Trick PSP: com montar la MMC amb Linux
Fa uns quants mesos em van regalar una PSP, però encara quasi no l’he pogut ni tocar. De fet, aviat us explicaré les poques coses que he aconseguit fer amb la PSP en les meves poques hores de proves. La qüestió és que hi ha una línia que no vull perdre de vista, que són els paràmetres que calen per poder montar bé el sistema de fitxers vFAT de la targeta MMC. Així que l’apunto aquí per no perdre-la:
mount -t vfat -o noauto,noatime,users,shortname=win95,check=s,uid=1000 /dev/sda1 /mnt/psp
PHP5 – Generant WSDL amb Zend Studio 5.1
Al programar un webservice amb el PHP5 és més que trivial tal com podem llegir a la documentació sobre SOAP (local) del propi PHP. El problema ve quan volent aprofitar la simplicitat dels serveis SOAP toca programar a mà el WSDL. O sigui, agafa i posat a definir la interficie en XML de la/es classe/s que vols exportar a través del webservice, o sigui, una missión imposible.
La meva sorpresa ha estat veure que després d’adpotar el Zend Studio com a IDE de programació del meu codi PHP he vist que disposava d’un assistent ben senzill d’usar per tal de generar automàticament aquest fitxer WSDL. La cosa és ben senzilla imaginem que usem el codi de l’exemple de la web de Zend, com comentava abans.
El servidor SOAP:
<?php class QuoteService { private $quotes = array("ibm" => 98.42); function getQuote($symbol) { if (isset($this->quotes[$symbol])) { return $this->quotes[$symbol]; } else { throw new SoapFault("Server","Unknown Symbol '$symbol'."); } } } $server = new SoapServer("server2.wsdl"); $server->setClass("QuoteService"); $server->handle(); ?>
El client, encara més simple que el servidor:
<?php $client = new SoapClient("server2.wsdl"); print($client->getQuote("ibm")); ?>
Ara que ja tenim el codi en el nostre Zend, només cal que anem a:
Cal seguir l’assistent que no és massa difícil, aquí en teniu els passos capturats per l’exemple del que parlem:
Podeu veure com s’exporten automàticament les classes dels arxius que seleccioneu, cal que poseu al costat de cada classe exportada la URL a través de la qual s’accedeix al servei:
Al final obtenim el fitxer WSDL, en el nostre cas aquest:
<?xml version='1.0' encoding='UTF-8'?> <!-- WSDL file generated by Zend Studio. --> <definitions name="server2" targetNamespace="urn:server2" xmlns:typens="urn:server2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <message name="getQuote"> <part name="symbol"/> </message> <message name="getQuoteResponse"> <part name="getQuoteReturn"/> </message> <portType name="QuoteServicePortType"> <operation name="getQuote"> <input message="typens:getQuote"/> <output message="typens:getQuoteResponse"/> </operation> </portType> <binding name="QuoteServiceBinding" type="typens:QuoteServicePortType"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="getQuote"> <soap:operation soapAction="urn:QuoteServiceAction"/> <input> <soap:body namespace="urn:server2" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </input> <output> <soap:body namespace="urn:server2" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </output> </operation> </binding> <service name="server2Service"> <port name="QuoteServicePort" binding="typens:QuoteServiceBinding"> <soap:address location="http://oriol.joor.net/soap/server2.php"/> </port> </service> </definitions>
Si sou observadors notareu que aquest fitxer és lleugerament diferent al de la documentació que mostra Zend. Però jo l’he provat i funciona perfectament així doncs no m’hi trencaré el cap en saber a què es deuen aquests petits canvis al implmentar aquest format XML.
PC/104 – la interficie misteriosa
Quan fa uns anys em vaig començar a posar amb el tema del embedded vaig començar a descobrir aquest interficie tan desconeguda quan vens del món del PC. De fet, l’ensurt només és al principi després descobreixes que només és un connector que ens permet tenir unes plaques d’extenció en espais molt reduits i de forma que la connexió sigui ben segura per entorns ostils. A nivell lògic és ben senzill, perquè les senyals que transporten no deixen de ser ISA o PCI. Segons algunes companyies el mercat d’aquesta interficie ha de creixer un 45% en els propers 4 anys.
L’estàndard en qüestió és de l’any 1991, i el va definir el PC/104 Consortium. Els estàndards definits per aquest consorci són PC/104, PC/104+, PC-104, EBX i EPIC. El PC/104 defineix un slot de 104-pin que equival internament a la lògica de funcionament ISA. El PC/104+ incorpora compatibilitat amb el PC/104 i afegeix compatibilitat lògica amb el bus PCI a través de 120 pins totals. El PC-104 només és compatible PCI i té 120 pins. Finalment tan el EBX com el EPIC, defineixen com connectar una placa SBC a un backplane o xassís.
Les funcions de les targetes PC/104 són totes les que us pogueu imaginar i més. Des de les típiques que podem trobar en un PC: targeta de so, modem, targeta de xarxa, wifi, etc. Fins a d’altres targetes més pròpies del món industrial o de dispostius típicament enquestats. Per exemple, targetes GPIO, mini bateries, NVRAM, etc.
…i 1000!!!
Doncs després de més de 5 anys escribint al meu blog, ús informo que aquest és el post 1.000, per fi! hi ha molta gent que amb menys d’1 any de blog ja n’ha escrit més que jo de posts. Però bé suposo que el merit d’aquest blog no és el número d’articles sinó el temps que fa que els estic escribint 🙂
Aprofitant aquest motiu de celebració, també us informo que estreno verisó del blogcms, que no heu notat res, ja ho sé… hi hi hi! només he actualitzat el motor del sistema. A més també us informo que ara esta corrent amb un PHP 5.1.2 i no amb un PHP 4 com fins ara. Tinc intenció d’aprofundí molt més amb la programació orientada a objectes en PHP. Ja anireu tenint notícies del tema.