Inicio

SOAP amb Symfony

symfony.gif

Fa uns mesos vaig implementar una aplicació amb força connexions SOAP tan a nivell de client, com de servidor contra aplicacions .NET i aplicacions SOAP fetes en Symfony mateix. Malgrat funcionen prou bé, he de reconeixer que la implementació SOAP de PHP fins a la versió 5.2.0 que és la última que he provat dona alguns problemes. Ja no quan es comunica amb .NET sinó quan parlo amb ella mateixa. Puc assegurar que no és culpa del codi, perquè l’estructura client servidor de la que parlo feia més de 200 transaccions diaries de les quals unes 10 o 20 fallaben, per errors de l’estil Error Fetching http headers. De fet, investigant vaig trobar algún que altre BUG intern de PHP que comentava el problema, però segons deien a PHP ja estava solucionat. Doncs a mi em continuaven donant. Finalment el que vaig fer per solucionar-ho va ser eliminar SOAP a tot arreu d’on vaig poder, ara mateix no tinc ni un error d’aquest estil i es continuen fent unes 200 transacions diaries o més.

Malgrat aquesta no massa bona experiència, continuo pensant que la idea és boníssima i que cal seguir treballant amb ella. Doncs bé, quan vaig implementar el servidor SOAP via Symfony no vaig trobar cap tipus de documentació que parles de com fer-ho bé. Així doncs vaig improvisar i vaig repartir el codi entre les actions i els templates amb tan bon criteri com vaig saber, tan per publicar el fitxer WSDL com per publicar el servei SOAP. Ara esta apunt de sortir la versió 1.0 de Symfony i curiosament també s’ha publicat un snippet on es parla de com publicar un servei SOAP desde Symfony. Així doncs, he de reconeixer que la implementació que es fa de la idea en aquest snippet és molt millor que la meva. Per tant, el recomano: Code Snippets: Soap server (local).

Snap: el complement d’escriptori ideal per l’asterisk

De fet, personalment no em fa gaire utilitat aquesta eina. Però no puc dir el mateix dels meus clients. Per fi, he trobat una eina econòmica que els permet interactuar amb l’asterisk de forma senzilla i fer les típices pijades que sempre em demanen quan els monto un asterisk, gràcies Marc pel descobriment. Snap és un programet per Windows que permet veure qui ens esta trucant a la pantalla del PC, buscar aquest número a l’agenda. Marca el número de telèfon que ens apareix al firefox mentre naveguem. Marca on volem trucar des d’una petita aplicació que ens surt a la pantalla. Invocar el CRM requerint la informació del client que ens esta trucant, o fins hi tot connectar-lo via AGI a funcions més avançades d’Asterisk. Però la cosa no s’acaba aquí, s’integra amb Outlook, permet tenir un registre de les trucades que fem i que rebem. Entre d’altres coses.

snap.png

El programa té dues versions la free i la pro, aquesta última costa uns ~30$ per usuari. El que ambdues tenen en comú és la integració amb Office, Outlook, firefox i thunderbird. La versió pro a més ens mostra una finstra flotant quan entre una trucada, permet connectivitat contra el CRM per trucades entrants i sortints, disposa d’un driver TAPI (TSP driver), a més d’una versió avançada de l’identificador de trucades i del buscador de números de teléfon.

Postfix: relay contra un altre mailserver

En aquest article Set Up Postfix For Relaying Emails Through Another Mailserver de HowtoForge s’explica com configurar un Postfix per fer relaying contra un servidor extern. O sigui, perquè el servidor de correu (MTA) envii sempre els correus contra (MTA) un altre servidor de correu via SMTP. Potser el més iteressant és que explica com fer-ho a través d’un SMTP autenticat.

Intentant resumir els passos explicats a l’article comentat.

En l’exemple farem relay contra el sevidor smtp.example.com. A part d’usar l’ordre postconf per fer això, també podem editar el fitxer /etc/postfix/main.cf i afegir-hi les comandes indicades entre cometes.

postconf -e 'relayhost = smtp.example.com'
postconf -e 'smtp_sasl_auth_enable = yes'
postconf -e 'smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd'
postconf -e 'smtp_sasl_security_options ='

Guardarem l’usuari i el password a usar contra el servidor smtp.example.com al fitxer /etc/postfix/sasl_passwd. Aquest fitxer ha de ser propietat de l’usuari root i ningú més hi ha de tenir accés (perms: 600). Finalment creem el seu arxiu .db.

echo "smtp.example.com   someuser:howtoforge" > /etc/postfix/sasl_passwd
chown root:root /etc/postfix/sasl_passwd
chmod 600 /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd

Finalment només cal reiniciar el postfix:

/etc/init.d/postfix restart

Amavisd-new: Re-enviar correus marcats com a spam

Sempre tinc el mateix problema amb l’amavisd-new intento que els correus marcats com a spam no s’enmagatzemin en un directori sinó que s’enviin al client i mai recordo la comanda, així doncs aquí va aquesta nota:

$spam_quarantine_to = 'correu@exemple.com';

De fet, la gràcia seria automatitzar millor la variable perquè el destinatari fos dinàmic. O sigui, el destinari real que anava a rebre el correu i això encara no he descobert que he de posar.

MonkeyGTD com a ToDo list

En l’article Com m’organitzo les tasques? (última incorporació MonkeyGTD) ja vaig fer referència al MonkeyGTD es tracta d’una eina programda en html i javascript amb moltíssimes funcions intereactives. Tan és així que a vegades et planteges com carai ho han fet per programar aquestes funcions dins d’un navegador. Així doncs l’experiència d’usuari és boníssima tot i que s’ha de dir que té un pel de retard per culpa del javascript que al interpretar-se dins el navegador no acabada de ser tan ràpid com un programa compilat pel nostre sistema operatiu. Potser amb alguna màquina més potent que el meu Pentium M a 1.2GHz la cosa ni es notaria.

Doncs bé amb una interactivitat molt bona, un acabat impecable i una GUI realment agradable a l’usuari diria que és una de les eines més potents per portar la nostre llista de tasques pendents (ToDo list) al més pur estil GTD. Quan t’acostumes a usar els contextes de les tasques realment et tornes adicte a la potència dels tags associats a la llista. Imagineu-vos coses tan complexes de mantenir, consultar o introduir com per exemple les tasques delegades o que esperes d’algú, o per exemple, tasques que només poden realitzar-se si estem online. Però potser un dels contextes que més m’agrada és el fet de poder saber quines tasques requereixen poca energia per realitzar-se, o sigui, que són una simple gestió. Després de llegir el llibre El Poder del Pleno Compromiso realment vaig aprendre que el difícil no és tenir temps per fer les coses sinó energia. Per exemple, ara mateix he deixat de treballar no pas perquè tinc gana o perquè Daphne ja no trigarà a arribar i encara menys perquè tenia ganes d’escriure això. Sinó simplement, perquè ja no podia pensar més en algoritmes i problemes del codi que estava depurant. Així doncs, m’he dedicat a realitzar aquesta tasca que tenia pendent que no em requereix gaire esforç mental per fer.

monkeygtd.png

Tornant a l’eina del MonkeyGTD es tracta d’una modificació del wiki anomenat TiddlyWiki, bàsicament és d’aquest concepte d’on s’extreu la capacitat de poder treballar amb el MonkeyGTD de forma online o offline. A més de treballar amb una unitat d’informació molt curiosa el Tiddler. Gràcies a això és senzillissim gestionar les actualitzacions del MonkeyGTD, tan és així que ara mateix treballo amb la versió alpha del mateix. A més gràcies al servei de tiddlyspot podeu crear la vostre compte de TiddlyWiki, MonkeyGTD, etc. completament gratuïta i online. Com ja he dit, si voleu, podeu descarregar el fitxer del MonkeyGTD en local i després pujar-lo al tiddlyspot o al vostre servidor només fent un click.

Obviament no és perfecte i té alguns defectes, per exemple: el password, nom d’usuari i opcions de configuració bàsiques es guarden en una cookie així doncs quan fem un upload, si treballem en local, aquestes es perden cada vegada que reiniciem el navegador. Això no passa si sempre treballem online. D’altres cosetes que encara s’han de pulir són la capacitat de publicar per RSS la nostre llista de tasques, ja que surt pràcticament críptica i es fa molt difícil de consultar. Segur que si em poso a pensar trobaria molts altres detallets a pulir, però no oblidem que uso una versió alpha del codi i que malgrat això és súper estable i disposa de mil i una funcionalitats que em tenen enamorat: fa autobackups, els upgrades són molt senzills de fer, no perd les dades al actualitzar, es pot arribar a personalitzar tot moltíssim perquè s’ajusti al màxim a la nostre forma de treballar. Igual que en el cas dels defectes podria seguir i seguir, però diria que la idea queda més que clara.

Potser el més important que teniu que recordar és que si coneixeu el mètode GTD, aquesta eina al correr dintre del navegador i al poder-la usar via internet o des del disc dur, ens obre moltíssim les possibilitats de comptabilitats entre arquitectures i sistemes. Tan és així que jo uso el GTD tan per tasques de feina com personals. Potser un dels grans deures que li trobo seria la possibilitat de poser-se integrar amb el tasks pro, ja sigui via RSS, o via iCal. A més de fer-ho també amb el evolution és clar. Així doncs, la gran assignatura pendent del MonkeyGTD és la integració amb d’altres aplicatius. Però malgrat això ja sa convertit en una peça imprescindible dins del meu sistema d’organització personal.

RouterOS el sistema operatiu de Mikrotik

mikrotik.png

Ahir vaig poder jugar unes quantes hores (unes 6h) amb el RouterOS el sistema operatiu que usen els dispositius Mikrotik. Fins ara no hi havia pogut jugar gaire estona (durant 1h aproximadament) però ahir realment vaig poder aprofundir una mica més en aquest sistema. A priori sembla força complex o una mica difícil d’usar, sobretot per la sintaxi i que no hi ha un manual que expliqui com treballar amb la CLI. Bàsicament el truc és usar el Winbox que és una utilitat semi-gràfica que simplifica molt les comandes al més pur estil CLI.

El que més m’ha agradat d’aquest sistema operatiu és el seu gran dinamisme però sense caure en la complexitat d’haver de mantenir un sistema operatiu de PC. S’ha de dir però que de senzill no ho és gaire, és a dir calen coneixements tècnics per poder usar-lo, no tant per la sintaxi sinó perquè s’ha de treballar a baix nivell. És a dir, no usa aquest coi d’assistents de configuració que tan em molesten sinó que has de tenir clars els conceptes de xarxes per tal de fer les configuracions del dispositiu. En part recorda al IOS de Cisco, però jo diria que és molt més senzill i orientat a les aplicacions per les que està pensat. A més malgrat no ser lliure les llicències són molt més econòmiques que les de Cisco. També cal dir que malgrat esta pensat per les plaques embedded de Mikrotik també pot funcionar en arquitectures PC i d’altres.

Obviament esta molt orientat a serveis que es donen des d’un AP, ja que els equips de Mikrotik són escencialment equips de WiFi. Però arriben a soportar serveis com ara servidors RADIUS, servidors d’VPN, servidors RAS, proxies, etc. Per no parlar de les eines d’escaneix de freqüències i d’altres eines més enfocades a les xarxes sense fils. Obviament el hardware que suporta és força limitat però s’ha de pensar que esta molt orientat a tasques de routing, firewalling, hotspot gateway, bridging, client access, etc. així doncs no interessa tan el fet de suportar un gran ventall de hardware com el fet de ser molt potent en les funcions comentades.

En l’aspecte referent al WiFi destacar la capacitat de publicar més d’un SSID simultaneament, a més de poder actuar simultaneament com a AP, client o bridge. A més de suportar múltiples sistemes de xifrat: WEP, WPA-PSK, WPA-RADIUS, WPA2, etc. A l’hora de montar un hotspot també és brutal la capacitat que té de simplificar els passos per montar-lo i els sistemes d’autenticació, les formes i llocs on pot tenir o demanar les BBDD d’usuaris, a més d’estar completament preparat per montar un sistema AAA i unir-lo amb un sistema de facturació, per exemple. A més per internet he vist diversos programes orientats a facturar com a WISP o per propietaris de hotspots, com hotels i d’altres similars.

Així doncs estic molt content d’aquest descobrimient, a veure si puc completar les proves de l’escenari que estava provant les quals encara no les he pogut acabar al 100% però ja puc quasi assegurar que funcionaràn amb el que he vist fins ara. Així doncs Jordi el sistema mixte de hotspots de Mikrotiks amb Linksys (amb DD-WRT v23 SP2) ha de funcionar quasi segur quan ho tingui llest ja passaré la configuració per aquí. Si voleu ampliar coneixements sobre les funcions que ofereix el routerOS sobretot no ús perdeu aquest resum (local).

Scroll to Top